无需登录 数据私有 本地保存

按键代码查看器 - JavaScript KeyCode在线检测

19
0
0
0
点击页面任意位置后,按下键盘按键即可检测  |  移动端建议使用物理键盘
按下任意键开始检测 -- --
event.key
event.code
event.keyCode
event.which
event.location
event.repeat
Ctrl Alt Shift Meta ⌘/Win
按键历史记录
暂无按键记录,试试按下键盘吧
常见按键 KeyCode 快速参考
按键keyCodecode按键keyCodecode
Enter13EnterBackspace8Backspace
Tab9TabDelete46Delete
Escape27EscapeSpace32Space
ArrowLeft37ArrowLeftArrowUp38ArrowUp
ArrowRight39ArrowRightArrowDown40ArrowDown
Shift(左)16ShiftLeftShift(右)16ShiftRight
Ctrl(左)17ControlLeftAlt(左)18AltLeft

字母键 A-Z 的 keyCode 为 65-90,数字键 0-9 的 keyCode 为 48-57。小键盘数字键 keyCode 为 96-105。

常见问题与知识点

event.keyCode 返回一个数字代码,代表按键的物理位置对应的数值(如 A=65, Enter=13)。已废弃,不推荐在新项目中使用。
event.code 返回一个字符串,表示物理按键的标识(如 "KeyA", "Enter", "ShiftLeft"),与键盘布局无关,是更可靠的按键识别方式。
例如:无论你使用什么语言的键盘布局,按下 QWERTY 键盘上 Q 位置的键,code 始终是 "KeyQ",而 keyCode 也是 81。

keyCode 被废弃的主要原因是:它在不同键盘布局下表现不一致,且无法区分左右修饰键(左右 Shift 的 keyCode 都是 16)。
现代 Web 标准推荐使用 event.key 获取按键的字符值,使用 event.code 获取物理按键标识。
keyCode 仍然被广泛支持,本工具帮助开发者在过渡期间快速查询对照。

使用 event.code 可以轻松区分:
左 Shift → code: "ShiftLeft",右 Shift → code: "ShiftRight"
左 Ctrl → code: "ControlLeft",右 Ctrl → code: "ControlRight"
左 Alt → code: "AltLeft",右 Alt → code: "AltRight"
同时 event.location 也会返回位置信息:1=左侧, 2=右侧, 3=小键盘。

event.key:当你关心"用户输入了什么字符"时使用。例如检测是否按下了 "a" 或 "A"(受 Shift 影响),适合文本输入场景。
event.code:当你关心"用户按了哪个物理按键"时使用。例如游戏中的 WASD 移动控制,无论 CapsLock 状态如何,code 始终是 "KeyW"
最佳实践:游戏控制用 code,文本处理用 key

keydown:按下任意键时触发,包括功能键(Shift、Ctrl、方向键等),会重复触发(按住不放时)。推荐使用。
keypress:仅对产生字符的键触发(字母、数字、符号等),功能键不会触发。已被废弃,不推荐使用。
keyup:释放按键时触发,适合检测按键释放(如游戏中的跳跃结束)。
本工具使用 keydown 事件进行检测。

移动设备的虚拟屏幕键盘通常不会触发完整的 keydown 事件,因此检测效果有限。
但如果您在移动设备上连接了蓝牙物理键盘或使用键盘扩展坞,本工具可以完美工作。
建议在桌面端使用以获得最佳体验。

0:标准键盘区域(大多数按键)
1:左侧修饰键(左 Shift、左 Ctrl、左 Alt)
2:右侧修饰键(右 Shift、右 Ctrl、右 Alt)
3:数字小键盘区域(Numpad 按键)
结合 event.code 可以精确定位用户按下的具体物理按键。