[僕] キーを押したのを検知する

僕ト云フ事

たろマークはてなブックマーク

2008年05月24日

[javascript] キーを押したのを検知する

開いてるページ上でキーを押した時検知するのはどうしたらいいのかちょっと調べてみた。初めての JavaScript p123〜125 くらいに詳しく載ってたのをイベントハンドラに登録して使うようにしてみた。

こんな感じ。

function keyUp (nsEvent) {
  var theEvent = nsEvent ? nsEvent : window.event;
  alert( theEvent.keyCode );
}
 
if (window.addEventListener) {
  window.addEventListener('keyup', keyUp, true);
} else {
  window.attachEvent('onkeyup', keyUp);
}

Mozilla とか Opera は関数の引数にイベントオブジェクトが渡ってくるのでそれを使う。
無ければ IE 系なので、window.event を使う。
このスクリプトを実行するとキーを押して離したときに、そのキーの番号がダイアログで出ます。
(keydown や keypress より keyup のがいいみたい。なので正確にはキーを離したのを検知ですね。)

参考

初めてのJavaScript―Ajax&DOM対応
Shelley Powers
オライリージャパン
売り上げランキング: 148868
おすすめ度の平均: 3.0
5 JavaScriptの全体像をつかむには最適
1 浅い内容
2 構成が悪く、読みにくい
5 ちょっと優しい感じのオライリー
blog comments powered by Disqus