ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryイベントのキーボードイベント(ctrl Enterキーでフォーム送信等)_jquery

jQueryイベントのキーボードイベント(ctrl Enterキーでフォーム送信等)_jquery

WBOY
WBOYオリジナル
2016-05-16 16:48:461317ブラウズ

キーボード イベントは、テキスト入力領域の内側か外側かに関係なく、すべてのユーザーのキーストロークを処理します。キーボード イベントの範囲はブラウザによって異なります。通常、この種のキーボード イベントは、フォーム要素、タグ要素、ウィンドウ、ドキュメントなどの要素に作用します。キーボード イベントは、交点を取得できるすべての要素でトリガーできます。このようにして、Tab キーを使用してジャンプできる要素は、キーボード イベントを使用できる要素であると理解できます (tabindex が設定されていない場合)。属性値の場合、tabindex が負の数値に設定されている場合、Tab キーを使用してもフォーカスは取得されません。

キーボード イベントはパラメーター イベントを渡すことができます。実際、このイベントはいくつかのプロパティを含むオブジェクトです。イベントがトリガーされると、そのイベントを使用して取得できます。たとえば、キーボードを使用する場合、event.keyCode を使用して、押されたキーの ASCII コード値を取得できます。以下を参照

1: keydown() イベントは、キーボードがクリックされたときにトリガーされる最初のキーボード イベントです。ユーザーがキーを押し続けると、keydown イベントが継続します。

コードをコピー コードは次のとおりです。

$('input').keydown( function(event ){
alert(event.keyCode);
});
これらの要素は、上、下、左、右キーなど、キーボードから返される値 (それぞれ 38、40、37、39) によってさらに制御できます。
2: keypress() イベントは keydown と似ていますが、キーのデフォルトの動作を防ぐ必要がある場合は keypress イベントを使用する必要があります。

3: keyup() イベントは、(keydown イベントの後に) 発生する最後のイベントです。keydown イベントとは異なり、このイベントはキーボードが離されたときに 1 回だけトリガーされます (キーボードを離すことは継続的な状態ではないため)。 。

コードをコピー コードは次のとおりです。 $('input').keyup( funciton() {
alert('keyup 関数が実行中です!!');
});



4: jQuery では、keydown、keypress、keyup イベントは特定の順序で実行されます。

コードをコピー コードは次のとおりです。 $('input').keyup( function() {
console.log('keyup');
});
実行結果は、keydown、keypress、keyup です。
ここでアラートを使用しない理由は、アラート中に一部のイベントが発生しないようにするためです。このコードを試してみたい場合は、Firefox で実行できます。ブラウザに Firebug プラグインをインストールする必要があります。 Firefox はオープンソース ブラウザであるため、安心してインストールしてください。オープンソース ソフトウェアを信頼します。

jQuery には、イベントが発生する順序に従って、キーボード イベントを処理する 3 つの関数があります。





コードをコピー

コードは次のとおりです。

keydown();

keyup( );

keypress();

キーダウン()

キーボードが押されたときに keydown イベントがトリガーされます。ブラウザのデフォルト イベントがトリガーされないようにするために、バインドされた関数で false を返すことができます。

キーアップ()

キーアップ イベントは、キーが放されたときにトリガーされます。つまり、キーボードを押して立ち上がった後のイベントです

キープレス()

keypress イベントは、キーがタップされたときにトリガーされ、同じキーを押したり離したりすると理解できます。

A、Z、または Enter ボタンを押したかどうかを確認するにはどうすればよいですか?

キーボード イベントはパラメーター イベントを渡すことができます。実際、一部の jQuery イベント関数はそのようなパラメーターを渡すことができます。

コードをコピー コードは次のとおりです。

$('input').keydown( function(event ){
alert(event.keyCode);
});

上記のコードでは、event.keyCode はどのキーが押されたかを取得するのに役立ちます。上、下、左、右のキー (それぞれ 38、40、37、39) などの ascII コードを返します。 >

Ctrl Enter を実装したい場合は、フォームを送信するには Ctrl Enter を使用します

コードをコピー コードは次のとおりです。
$(document).keypress(function( e) {
if (e.ctrlKey && e.that == 13)
$("form").submit();
})

その他の参考情報:

予備知識

1. 数値 0 のキー値 48.. 数値 9 のキー値 57

2. キー値 97.. z キー値 122; A キー値 65.. Z キー値 90
3. 43;-キー値 45;.キー値 46;Backspace 8;Tab キー値 9;
4.event は IE ではグローバルであり、Firefox では一時オブジェクトであり、パラメーターを渡す必要があります

コードをコピー コードは次のとおりです。
*/
jQuery.extend( {
/*========================================== ==== ============================
関数説明: キーの値を取得
呼び出し方法:
jQuery.getKeyNum (event);
*/
getKeyNum:function(e){
var keynum;
if(window.event){ // IE
keynum = イベント.keyCode;
}
else if(e.that){ // Netscape/Firefox/Opera
keynum = e.that;
return keynum; 🎜>/*== =========================================== ====== =======================
関数の説明: 整数かどうかを判断し、編集ボックスを数値のみの入力に制限します
呼び出しメソッド:

解決すべき問題:
タブキーが機能しないFirefox.
*/
isInt. :function(e){
var keynum = this.getKeyNum(e);
if(keynum >= 48 && keynum return true;
}
return false;
/*=========== =========== ====================================== =========== ===
関数の説明: 編集ボックスを数字と 1 つの小数点のみに制限します。
呼び出しメソッド:
< input type="text" onkeypress="return jQuery. .isFloat(this,event); />
*/
isFloat:function(txt,e){
var keynum = this.getKeyNum (e);
if(keynum == 46){//小数点を入力します
if(txt.value.length == 0){
return false; value.indexOf('.') >= 0) {
return false;
}else{
return true;
}
if(this.isInt(e) )){
true を返す;
}
false を返す
}
});


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。