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の「スタート」「メニュー」
はブラウザによって返すキーコードが異なるので、使用を避けるのが無難