KeyCode键盘按键码

免费在线KeyCode键盘按键码查询工具,按下任意键盘按键即可显示详细信息,支持键盘码表查询。

⌨️
按下任意键盘按键查看KeyCode
-
keyCode
-
key
-
code
-
which
-
charCode
-
location
-
Ctrl
Shift
Alt
Meta

常用按键码表

keyCode 按键 key code

工具介绍

了解KeyCode键盘按键码工具的功能特点和使用方法

什么是KeyCode?

KeyCode(键码)是键盘事件对象的一个属性,表示按下的键盘按键的虚拟键码值。在JavaScript中,键盘事件(keydown、keyup、keypress)的事件对象包含keyCode、key、code等多个属性,用于描述用户按下的是哪个键。

键盘事件属性说明

1. keyCode:返回按键的Unicode字符码或按键的虚拟键码。注意:keyCode属性已被废弃,推荐使用key或code属性。

2. key:返回按键的标识符,如"a"、"A"、"Enter"、"Shift"等。会根据Shift等修饰键的状态而变化。

3. code:返回按键的物理键代码,如"KeyA"、"Enter"、"ShiftLeft"等。不受修饰键和键盘布局的影响,表示物理按键的位置。

4. which:与keyCode类似,返回按键的键码值,用于兼容不同浏览器。同样已被废弃。

5. charCode:仅在keypress事件中有效,返回输入字符的Unicode值。已被废弃。

6. location:返回按键在键盘上的位置,0表示标准位置,1表示左侧,2表示右侧,3表示数字小键盘。

功能特点

  • 实时检测:按下任意键盘按键即可实时显示该按键的所有相关信息。
  • 全面信息:显示keyCode、key、code、which、charCode、location等所有键盘事件属性。
  • 修饰键状态:实时显示Ctrl、Shift、Alt、Meta等修饰键的按下状态。
  • 按键码表:提供常用按键的码表查询,方便快速查找。
  • 搜索功能:支持通过按键名或keyCode搜索码表,快速定位。

应用场景

1. 前端开发:在开发键盘快捷键、游戏控制等功能时,需要知道各个按键的keyCode值。

  • 2. 调试排错:调试键盘事件相关的代码时,查看按键事件的详细信息。
  • 3. 学习参考:学习JavaScript键盘事件,了解不同按键的键码值。
  • 4. 键盘测试:测试键盘按键是否正常工作。
  • 注意事项

    1. keyCode已废弃:keyCode和which属性已被Web标准废弃,虽然大多数浏览器仍支持,但新代码建议使用key和code属性。

    2. 浏览器差异:不同浏览器对键盘事件的实现可能有差异,开发时需要注意兼容性。

    3. 键盘布局:key属性的值可能受键盘布局影响,而code属性表示物理键位,不受布局影响。

    常见问题

    关于KeyCode键盘按键码工具的常见问题解答

    keyCode、key、code有什么区别? +
    keyCode是数字型的虚拟键码,已废弃;key是按键的字符表示,如"a"、"Enter",会受修饰键影响;code是物理键位代码,如"KeyA"、"ShiftLeft",不受修饰键和键盘布局影响。推荐使用code来判断物理按键,使用key来获取输入的字符。
    为什么keyCode不推荐使用了? +
    keyCode已被Web标准废弃,主要原因有:1) keyCode在不同浏览器和操作系统上的实现不一致,存在兼容性问题;2) keyCode无法区分同一按键的左右位置(如左Shift和右Shift);3) keyCode受键盘布局影响,不同语言布局的键盘可能有不同的keyCode。推荐使用更标准的key和code属性。
    为什么有些按键检测不到? +
    有些系统级的快捷键或浏览器内置的快捷键可能无法被JavaScript捕获,例如:1) Windows的Win键(Meta键)可能部分被系统拦截;2) 浏览器的快捷键如Ctrl+T、Ctrl+W等;3) 一些特殊的功能键可能因浏览器安全限制而无法获取完整信息。但大多数普通按键都可以正常检测。
    keydown、keypress、keyup有什么区别? +
    keydown:按键按下时触发,所有按键都会触发,包括功能键;keypress:按键按下并产生字符时触发,只有可打印字符会触发,已废弃;keyup:按键释放时触发。本工具使用keydown事件来检测按键,因为它能捕获所有按键。
    如何在代码中判断用户按下了回车键? +
    推荐使用key属性判断:if (event.key === 'Enter') { ... }。也可以用code属性:if (event.code === 'Enter') { ... }。虽然很多人用keyCode === 13来判断,但keyCode已废弃,不建议在新代码中使用。