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