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

押したキーのキーコードを取得するには、イベント引数である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逆引きリファレンス一覧へ戻る