入力したキーボードのキーを取得する

キーボード操作を行ったときにJavaScriptで何らかの処理を行うとき、キーの判別をどのようにすればいいかで少し迷うことがあったので、調べたことをメモ。

サンプルコード

過去によく使われていた「event.keyCode」は非推奨になっているため、event.keyかevent.codeのどちらかを使用します。

event.keyの場合はユーザーの入力したキーの値を、event.codeの場合はユーザーの入力した物理的なキーを返します。
例えばキーボード上のEnterキーを押した場合、event.keyとevent.codeはどちらも「Enter」を返しますが、テンキーのEnterキーを押した場合、event.keyは「Enter」、event.codeは「NumpadEnter」を返します。

実際に挙動を試してみます。

document.body.addEventListener('keydown', function(event) {
  console.log('key:', event.key);
  console.log('code:', event.code);
});

event.keyとevent.codeの動作確認のデモページ

Windows環境でいくつか試してみた結果は以下の通りです。

event.key event.code
キーボードの「a」 a KeyA
キーボードの「1」 1 Digit1
テンキーの「1」 1 Numpad1
左のShift Shift ShiftLeft
右のCTRL Control ControlRight
左のAlt Alt AltLeft
上キー ArrowUp ArrowUp
Num Lock中のテンキーの「8」 ArrowUp Numpad8
HOMEキー Home Home
PageDownキー PageDown PageDown
バックスペース Backspace Backspace
Deleteキー Delete Delete

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930