jQueryを使ったキーイベントの取得と利用
スポンサーリンク
JavaScript、というかjQueryを使って、キーイベントが発生した際にキーコードを取得する方法と利用についてのメモ。
キーコードの取得
キーボードイベント発生でイベントオブジェクトがわたされるので、whichプロパティでキーコードを取れる。例えばenterキーを押すと、enterキーのキーコードは13なので、event.which === 13
となる。enterキーが押されたときに反応させるにはこうなる。
$("body").keypress( function( event ) { if( event.which === 13 ){ alert( "enterキーが押されました。" ); } });
コントロールキー / オルトキー / シフトキーとの同時押し
コントロールキー・オルトキー・シフトキーと他のキーを同時押しした場合のキーイベントの取得方法。
まず、コントロールキー・オルトキー・シフトキーはkeypressだと反応しない。keyupかkeydownを使う。
キーイベントが発生した時にctrlキーが押されている場合、event.ctrlKey
がtrue
になる。同様にaltキーはevent.altKey
がtrue
に、shiftキーはevent.shiftKey
がtrue
となる。
つまりctrl + ↑で反応させるならこう。
$("body").keydown( function ( event ){ if( event.ctrlKey === true && event.which === 38 ){ alert( "ctrlキーと↑が同時に押されました。" ); } });
スポンサーリンク
JavaScriptカテゴリーの投稿
- [Gmaps.js] 地図をドラッグした後の中心座標を取得する
- [jQuery] 文字列が含まれているかどうかの判定
- 圧縮後のJavaScriptやHtmlを元に戻すWebサービス
- Google Code Prettify導入が超絶簡単になっていた
- [JavaScript] 全角を2、半角を1と数えるコード
- [JavaScript] 指定範囲内の整数からランダムな値を得る
- [JavaScript] sort()メソッドによる配列の並び替え
- シンタックスハイライター「Google Code Prettify」のカスタマイズ
- [JavaScript] オブジェクトにプロパティを追加
- [JS] 正規表現の特殊文字を置換するJavaScript版preg_quote()
jQueryカテゴリーの投稿
- [jQuery] $.ajaxのコールバック関数にcontextで値を渡す
- [jQuery] 文字列が含まれているかどうかの判定
- [jQuery] rowspanを持つtableで行の表示・非表示を切り替える
- [jQuery] find()とchildren()の使い分け
- jQueryとPHPでAJAX通信を行う
- [jQuery] $('form').change()でフォーム全体の変更を監視する
- [jQuery] 属性が存在するかどうかチェックするコード
- [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度
- [jQuery] tableの内容を取得する
- [jQuery] clone()で操作対象のエレメントを元の位置に保つ