jQuery.keypress()関数の使い方の詳しい説明

黄舟
リリース: 2017-06-27 14:02:15
オリジナル
2403 人が閲覧しました

keypress() 関数は、一致する各要素の keypressevent にハンドラー関数をバインドするために使用されます。さらに、いくつかの追加データを イベント ハンドラー 関数に渡すこともできます。

keypress イベントは、キーボードのキーが押されたときにトリガーされます。これは keydown イベントに似ていますが、 keypress はキーが押されたときにどの文字が押されたかに焦点を当てます (文字を印刷できるキーのみが keypress をトリガーします)。一方、 keydown はどのキーが押されたかに焦点を当てます (任意のキーを押すと keydown をトリガーできます)。 Ctrl、Alt、Shift、Delete、Esc などの修飾キーと非印刷キーの場合は、keydown イベントをリッスンします。

さらに、同じ要素に対してこの関数を複数回呼び出して、複数のイベント ハンドラーをバインドすることができます。 keypress イベントがトリガーされると、jQuery はバインドされたイベント処理関数をバインド順に実行します。

keypress() 経由でバインドされたイベントを 削除するには、unbind() 関数を使用します。

この関数はjQueryオブジェクト(インスタンス)に属します。

構文

jQueryObject.keypress( [[ data ,]  handler ] )
ログイン後にコピー

パラメータ

jQuery.keypress()関数の使い方の詳しい説明

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 + &#39;)&#39; ) ;
} );

// 触发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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート