🎹键盘按键码在线查询 - event.key、event.code、keyCode 实时显示与对照表
写快捷键、游戏操作或表单交互时,经常需要知道某个键在 JavaScript 里到底是什么值。打开本页按下任意键,就会大字显示组合键名称以及 event.key、event.code、keyCode、which、location(左 / 右 / 小键盘)、repeat、isComposing 和 Ctrl、Shift、Alt、Meta、CapsLock 状态。下方的美式布局屏幕键盘会高亮当前按下和按过的键,也可以用来检查键盘是否有失灵的按键。按键历史表记录最近的 keydown(可选 keyup)事件;输入法测试框会显示 compositionstart / update / end 事件,帮助理解中文输入时 keyCode 为 229 的情况。根据最后一次按键可一键生成按 key 或按 code 判断的 addEventListener 代码片段。页面底部是可搜索的常用按键对照表,列出 key、code 与 keyCode。注意 keyCode 和 which 已被标准废弃,新代码建议使用 key 或 code。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用键盘按键码查询
- 1点击页面空白处让本页获得焦点,然后按下任意键或组合键
- 2查看 event.key、code、keyCode 等属性,屏幕键盘会高亮对应按键
- 3复制自动生成的判断代码,或在下方对照表中搜索其它按键
常见问题
- event.key、event.code 和 keyCode 有什么区别?
- event.key 表示按键产生的字符或功能名,会随键盘布局和 Shift 变化(如 "a"、"A"、"Enter");event.code 表示物理按键位置,与布局无关(如 "KeyA"、"ShiftLeft"),适合游戏 WASD 这类按位置的操作;keyCode 是旧的数字编码,已被标准废弃,不同浏览器、布局下可能不一致,新代码不建议再使用。
- 为什么有些按键或快捷键在页面上检测不到?
- Ctrl+W、Ctrl+T、Cmd+Q 等浏览器和操作系统保留的快捷键会被直接处理,网页无法拦截;Fn 键通常不会产生事件;部分多媒体键取决于系统和浏览器。另外必须让本页获得焦点,焦点在地址栏或其它窗口时收不到按键。
- 中文输入法下 keyCode 为什么总是 229?
- 使用输入法组字时,浏览器会把 keydown 的 key 设为 "Process"、keyCode 设为 229,并把 isComposing 设为 true,真正的文字要在 compositionend 或 input 事件里获取。处理快捷键时应先判断 event.isComposing,避免在用户选字时误触发,本工具生成的代码已包含这一判断。
- 可以用它测试键盘有没有坏键吗?
- 可以。屏幕键盘会把按过的键标成浅蓝色,正在按下的键标成深蓝色,依次按一遍所有按键,没有变色的就是没被识别的键。也可以同时按住多个键测试键盘的无冲(多键同时识别)能力。