)ver1.4.3〜機能jQueryオブジェクトで指定した要素にフォーカスがあるとき、キー入力されたら引数のfunctionを実行します。引数にfunctionを設定しない場合は、要素に設定(バインド)されたfunctionを実行します。ver1.4.3からは引数にobjectオブジェクトを設定することで、実行するfunctionにデータを渡すことができます(データはイベントオブジェクトのdataプロパティ経由で渡されます)。keyupメソッドと異なり「controlキー」「shiftキー」など文字入力に関係ないキーではfunctionを実行しません。keypressメソッドはブラウザによっては異なる動作をするかもしれず(特に日本語入力モードでは)、利用には注意しましょう。解説キー入力があった時に実行する処理を設定サンプル(keypress/01.html)を開いてbody内にtype属性がtextのinput要素とp要素があることを確認してください。/><p></p>jQueryは以下の様に記述され、keypressメソッドの引数にfunctionの「pressFunc」が設定されています。{$("input").keypress(pressFunc);});keypressメソッドの引数に設定するFunctionは以下の様な構文になっています。引数(イベントオブジェクト)を受け取ります。キー入力があったら実行したい処理を{}の中に書きます、何かをreturnする必要はありません。イベントオブジェクトは別項にまとめてあるので、そちらを確認してください。whichプロパティを利用して、押したキーのキーコードを取得します。appendメソッドを利用してp要素に追加していきます。");};結果として、input要素にフォーカスを当ててから何かキー入力するとキーコードがp要素に追加されていきます。イベントのfunction設定は、無名関数を利用することが多いです。");});他の要素に設定されたキー入力時の処理を実行するkeypressメソッドは引数を設定しないと、要素に設定されたキー入力時の処理を実行します。サンプル(keypress/02.html)を開いてbody内にbutton要素が追加されたことを確認してください。続いてjQueryを確認してください。キー入力時の処理はkeypress/01b.htmlと同じですが、以下の処理が追加されています。この処理によってbutton要素をクリックするとinput要素に設定されたキープレシ時の処理が実行されます。$("button").click(function(){$("input").keypress();})結果として、button要素をクリックしてもinput要素でキー入力したのと同じように処理されます。キーではないためキーコードが取れず表示されるのは「undefined」となります。objectオブジェクトをfunctionに渡す第1引数にobjectオブジェクトを設定することで、実行するfunctionにデータを渡すことができます。dataプロパティを介して渡されます。サンプル(keypress/03.html)を開いてbody内の構成はkeypress/01b.htmlと同じ事を確認してください。jQueryは以下の様に記述され、keypressメソッドの第1引数にtestプロパティが10の値を持ったobjectオブジェクトが設定されています。このデータはイベントオブジェクト(eo)を通してfunctionに渡され、dataプロパティの値として取得できます。");})結果として、input要素にフォーカスを当ててから何かキー入力すると、第1引数で渡されたtestプロパティの値「10」がp要素に追加されます。keyupメソッドを利用します。keydownイベントを利用しましょう。keydownメソッドと異なるとあり、サンプルを作成したのですが違いが分かりません。→keypressのサンプル(keypress/test01.html)→keydownのサンプル(keypress/test01b.html)両方ともイベントが発生したらカウンターを増やす処理を書いています。本家のサイトでは、keydownイベントはキーを押しっぱなしにしても1回しかイベントが発生しないようなことが書いてあるのですが、実際はキーを押している間カウンターは増え続けます(macのsafariとchromeで確認)。