QED

私はこの世界について驚くべき真理を発見した。だが、それを記すにはこのブログは狭すぎる。

keydownとkeypressの違い

JavaScriptで、Ctrlを押しながらのキー入力イベントなどを取りたかったので調べたメモ。

 

(参考)

http://unixpapa.com/js/key.html

このページを抄訳しただけなので動作検証などはしていない。あくまで自己責任で。

 

○通常キー

全ブラウザ

 → keydown/keypressおよびkeyupイベントが発生

 

○特殊キー(Shift,Ctrl,Altなど)

・Gecko1.7以上、IE、WebKit525以上、Opera10.10以上

 → keydownおよびkeyupイベントが発生

 

・Opera9.5以下、Konqueror

 → keydown/keypressおよびkeyupイベントが発生

 

 

★keydownとkeypressの違い

 

keydown ・・・ キーボード上のキーを返す

keypress ・・・ 実際に入力されたキーを返す

 

例:Shiftを押しながら4を押すと

 keydownでは「4」、keypressでは「$」が返る

 

 

★Windowsの「スタート」「メニュー」

 Appleの「Apple(command)」

 はブラウザによって返すキーコードが異なるので、使用を避けるのが無難