jQueryを使えばキーボードショートカット機能も比較的簡単に作ることが出来るので、メモ。例えばキーボードの「o(オー)」を押せば画面上部のメニューがトグル式で開いたり閉じたりって事が可能になる。
[js]
$(document).keypress(function(event){
if( event.which === 111 ) {
$(‘.menu’).toggle();
}
});
[/js]
まず最初の$(document)
だが、ウェブページ上のどっかにフォーカスが当たっていれば必ずショートカット機能を発動させたいので、jQueryオブジェクトは$(document)
にする。それに対してkeypress()
イベント。keypress()
のevent handlerであるfunction(){}
には必ずevent
という引数を取らせます。
2行目のif文ですが、もしキーボードの押されたkeyが「o」なら・・・次のコードブロックを実行しなさいということ。event.which
でどのキーが押されたかをkey codeで取得し、それが111(アルファベットのオー)ならば中括弧の中身が実行されます。
キーボードの各キーにはkey codeという番号が割り振られていて、アルファベットのオーはkey code 111になるので、上のプログラムが成立します。キーボードのあるキーのkey codeが何番になるのかはググったらすぐに出てきますが、一応以下のサイトをご紹介。
.menu
が付いてるメニュー全体をCSSでdisplay: none
として消しておき、jQueryのtoggle()
メソッドでshowしたりhideしたり切り替えます。
コメント