押したキーのキーコードを取得

押したキーのキーコードを取得するには、イベント引数であるevent.keyCodeプロパティで取得できます。
取得できるイベントはkeyup、keydown、keypressです。

keyCodeプロパティはイベントの引数で参照できますが、IE8以下ではwindow.eventでのみの参照が可能となっています。

デモ

※ 何かキーを押してください。

サンプルコード

JavaScript

document.onkeydown = function(e) {
	var keyCode = false;

	if (e) event = e;

	if (event) {
		if (event.keyCode) {
			keyCode = event.keyCode;
		} else if (event.which) {
			keyCode = event.which;
		}
	}

	alert(keyCode);
};

キーコード一覧

日本語のキーボードでは、次のキーコードが取得できます。

対応キー 戻り値(キーコード)
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
K 75
L 76
M 77
N 78
O 79
P 80
Q 81
R 82
S 83
T 84
U 85
V 86
W 87
X 88
Y 89
Z 90
- 173
^ 160
\ 220
@ 64
[ 219
] 221
; 59
: 58
, 188
. 190
/ 191
テンキー1 97
テンキー2 98
テンキー3 99
テンキー4 100
テンキー5 101
テンキー6 102
テンキー7 103
テンキー8 104
テンキー9 105
テンキー0 96
テンキー/ 111
テンキー* 106
テンキー- 109
テンキー+ 107
テンキー. 110
テンキーEnter 13
F1 112
F2 113
F3 114
F4 115
F5 116
F6 117
F7 118
F8 119
F9 120
F10 121
F11 122
F12 123
↑ 38
↓ 40
← 37
→ 39
Enter 13
Shift 16
Ctrl 17
Alt 18
Space 32
BackSpace 8
Esc 27
Tab 9
CapsLock 20
NumLock 144
Insert 45
Delete 46
Home 36
End 35
PageUp 33
PageDown 34
ScrollLock 145
Windows 91
英数 240
半角/全角 243
漢字 244
無変換 29
変換 28
カタカナ/ひらがな/ローマ字 242

半角/全角キーについて

半角/全角キーでは少し特殊な動作をします。

操作/状態 イベント キーコード
IE11 Edge Chrome Firefox Opera
全角/半角キー押下
(半角モード時)
keydown - - 229 - 229
keypress - - - - -
keyup - (※1) - (※1) 244 244 244
全角/半角キー押下
(全角モード時)
keydown - - 229 - 229
keypress - - - - -
keyup 243 243 243 243 243
全角入力
(変換前)
keydown 229 229 229 - 229
keypress - - - - -
keyup * * * - *
Enterキー押下 keydown 229 229 229 - 229
keypress - - - - -
keyup 13 - - 13 13

- イベントが発生しない
* 押したキーのキーコード

  • ※1 IE11、Edgeは既に全角モード入力(変換前)を1度でも行ったとき、あるいはフォーカス時に既に全角モードであった場合のみ返します。
  • ※ 全角モードのときは、keypressイベントは発生しません。
  • ※ IE11、Edgeはウィンドウのフォーカスを失うと、半角全角問わず1度でも入力しないとイベントが発生しないことがあります。
  • ※ Operaは12、15以降ともに同じ結果です。

JavaScript逆引きリファレンス一覧へ戻る