keypress() 関数は、一致する各要素の keypressevent にハンドラー関数をバインドするために使用されます。さらに、いくつかの追加データを イベント ハンドラー 関数に渡すこともできます。
keypress イベントは、キーボードのキーが押されたときにトリガーされます。これは keydown イベントに似ていますが、 keypress はキーが押されたときにどの文字が押されたかに焦点を当てます (文字を印刷できるキーのみが keypress をトリガーします)。一方、 keydown はどのキーが押されたかに焦点を当てます (任意のキーを押すと keydown をトリガーできます)。 Ctrl、Alt、Shift、Delete、Esc などの修飾キーと非印刷キーの場合は、keydown イベントをリッスンします。
さらに、同じ要素に対してこの関数を複数回呼び出して、複数のイベント ハンドラーをバインドすることができます。 keypress イベントがトリガーされると、jQuery はバインドされたイベント処理関数をバインド順に実行します。
keypress() 経由でバインドされたイベントを 削除するには、unbind() 関数を使用します。
この関数はjQueryオブジェクト(インスタンス)に属します。
構文
jQueryObject.keypress( [[ data ,] handler ] )
パラメータ
jQuery 1.4.3 新しいサポート: keypress() はデータパラメータをサポートします。
パラメータハンドラー内の this は、現在の DOM 要素を指します。 keypress() は、現在のイベントを表す Event オブジェクトというパラメーターもハンドラーに渡します。
戻り値
keypress()関数の戻り値はjQuery型で、現在のjQueryオブジェクトそのものを返します。
例と説明
次の HTML サンプル コードを参照してください:
<input id="chars" type="text" />
次に、ハンドラー関数を window オブジェクトの keypress イベントにバインドします (複数バインドでき、それらは順番に実行されます)トリガーされたときのバインディング順序):
keypress事件的event.which属性返回的是按键所输入的字符的Unicode值。keydown事件的event.which属性返回的是所按下的键盘按键的映射代码值。
// 检测按键输入的字符 // Ctrl、Alt等非打印键不会触发keypress事件 $(window).keypress( function(event){ $("body").append( "<br>你输入了字符[" + String.fromCharCode( event.which ) + "](event.which=" + event.which + ')' ) ; } ); // 触发keypress事件 // $(window).keypress( );
我们还可以为事件处理函数传递一些附加的数据。此外,通过jQuery为事件处理函数传入的参数Event对象,我们可以获取当前事件的相关信息(比如事件类型、触发事件的DOM元素、附加数据等):
// { A:65, Z:90, a:97, z:122 } var validChars = { "A": "A".charCodeAt(0), "Z": "Z".charCodeAt(0), "a": "a".charCodeAt(0), "z": "z".charCodeAt(0) }; // 只允许输入大小写字母,不允许输入其他字符(使用某些输入法可能会绕过该限制,从而输入中文或其它字符) $("#chars").keypress( validChars, function(event){ var ch = event.data; return event.which >= ch.A && event.which <= ch.Z || event.which >= ch.a && event.which <= ch.z; } );
以上がjQuery.keypress()関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。