HandyTools Hub

键码查询

按下任意键,查看其 JavaScript 键盘事件值

请按任意键

event.code
event.which (已废弃)
event.keyCode (已废弃)
修饰键
Ctrl Shift Alt Meta

常见按键参考表

按键 代码 keyCode 描述

按下任意键,即可立即查看浏览器报告的全部信息:event.key、event.code、已废弃的 event.which 和 event.keyCode 数值,以及按下时持有的修饰键(Ctrl、Shift、Alt、Meta)。实时显示下方还有一个可搜索的参考表,列出字母、数字、功能键、方向键等常见按键的 key、code 和旧版 keyCode 值——不方便实际按键时也能查阅。

使用方法

  • 按下按键: 点击页面后按任意键,大字号区域显示 event.key,下方卡片显示 event.code、which 和 keyCode。
  • 检查修饰键: 按住 Ctrl、Shift、Alt 或 Meta 再按键,对应的徽标会亮起。
  • 搜索参考表: 输入按键名称、代码或描述(如「enter」或「F5」)即可筛选常见按键表。
  • 复制数值: 把显示的 key、code 或 keyCode 用到你自己的事件处理代码中。

功能特点

  • 实时捕获 event.key、event.code、event.which 和 event.keyCode
  • Ctrl、Shift、Alt、Meta 修饰键状态实时指示
  • 可搜索的参考表,涵盖字母、数字、F1–F12、方向键、编辑键、修饰键、标点和小键盘
  • 每个物理按键都有通俗易懂的文字描述
  • 完全在浏览器中运行——按键信息不会离开本页面

key、code、keyCode 该用哪个?

现代代码中,关心含义时用 event.key(用户是否按了 Enter?),关心位置时用 event.code(WASD 键位,与布局无关)。数值型的 keyCode 和 which 已废弃,但在旧库和早期教程中仍然常见,所以本工具将它们并排展示。一个常见陷阱:对于可打印字符,keyCode 反映的是未按 Shift 时的大写值——按 a 和 Shift+A 都报告 65——而 event.key 会精确区分「a」和「A」。

使用场景

  • 键盘快捷键: 在编写热键处理逻辑前,验证准确的 key 值和修饰键标志。
  • 游戏操控: 查找与布局无关的 event.code 值,实现 WASD 式移动控制。
  • 排查问题: 确认使用非美式键盘布局的用户实际产生的按键值。
  • 学习探索: 了解浏览器如何上报从方向键到小键盘运算符的各种按键。

相关工具

常见问题

event.key 和 event.code 有什么区别?

event.key 表示按键实际产生的字符或命名值,会随键盘布局和修饰键变化——例如按住 Shift 按 A 会得到「A」而不是「a」。event.code 标识按键的物理位置(如 KeyA),与布局无关,因此更适合游戏操控和快捷键。

为什么 keyCode 和 which 被标记为已废弃?

它们是 KeyboardEvent 标准定型之前遗留的属性。目前所有浏览器仍然支持,并返回相同的数字(例如 Enter 为 13,Escape 为 27),但规范建议改用 event.key 和 event.code。本工具仍然显示它们,因为许多旧代码和教程仍在使用。

为什么我的键盘不是 QWERTY 布局,字母键却显示 KeyA?

event.code 基于标准美式布局下按键的物理位置。在 AZERTY 键盘上,标着 Q 的键位于 KeyA 的位置,按下后 code 会报告 KeyA,而 key 是 q。要获取实际输入的字符,请查看 event.key。

如何检测 Ctrl、Shift、Alt 和 Meta 等修饰键?

每个键盘事件都带有四个布尔标志:ctrlKey、shiftKey、altKey 和 metaKey。按住修饰键再按任意键时,工具中对应的徽标会亮起。Meta 在 PC 上是 Windows 键,在 macOS 上是 Command 键。

为什么有些按键在工具中没有反应?

浏览器会保留某些组合键:F12 通常打开开发者工具,Alt+Tab 等系统级快捷键不会传递到页面。单独按下修饰键也没有可打印字符,因此显示的是修饰键名称。