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

キーボード操作を行ったときに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年12月
1234567
891011121314
15161718192021
22232425262728
293031