什么是 JavaScript KeyCode?

IT技术 javascript keycode
2021-02-28 23:44:00

哪些键码可用于 JavaScript?如果它们对所有浏览器都不同,请列出每个浏览器的键码。

6个回答

keyCodes不同于ASCII 值。有关完整的 keyCode 参考,请参阅http://unixpapa.com/js/key.html

例如,Numpad 数字的 keyCodes 为 96 - 105,对应于 ASCII 中小写字母的开头。这可能会导致验证数字输入时出现问题。

http://www.javascriptkeycode.com有一个方便的键码生成器,我最近用它来测试不同的键盘组合。
2021-04-23 23:44:00
链接到的页面不包含完整的参考。它充分说明了键码取决于键盘,键码或键码组合的含义取决于解释它们的软件。所以不可能有完整的列表。
2021-05-09 23:44:00

遵循@pimvdb 的建议,并创建了我自己的建议

http://daniel-hug.github.io/characters/

请耐心等待,因为为具有 JavaScript 键码的 65536 个字符中的每一个生成一个元素都需要几秒钟的时间。

可怕的网站,让我的浏览器每次都崩溃。不要用这个!
2021-04-16 23:44:00
@Floeee 抱歉,它目前为所有 65536 个具有 javascript 键码的字符生成一个表格行。它非常有效地执行此操作,但仍需要 10-20 秒。我可能会更改它,以便它在启动时加载 1000,然后根据要求加载更多。回答编辑以解释这一点。
2021-04-18 23:44:00
这些是 charCodes 而不是 keyCodes。keyCodes 列在unixpapa.com/js/key.html 的3.3 部分下
2021-05-03 23:44:00
更准确的说法可能是“在您终止进程之前,您的浏览器发生不可逆转的崩溃需要 10-20 秒”。
2021-05-05 23:44:00
为什么不在页面开头显示一条简单的文本消息来解释这一点?
2021-05-06 23:44:00

我需要这样的东西来制作游戏的控制配置 UI,所以我为标准的美式键盘布局键码编译了一个列表,并将它们映射到它们各自的键名。

这是一个包含代码映射的小提琴 -> 名称,反之亦然:http : //jsfiddle.net/vWx8V/

如果您想支持其他按键布局,您需要修改这些地图以分别适应它们。

也就是说,除非你要找的键码值,其中包括控制字符和不在(或很少),可使用键盘输入,并且可以在范围之外的其他特殊值的列表keydown/ keypress/keyup的Javascript事件。其中许多是控制字符或特殊字符,例如null( \0),您很可能不需要它们。

请注意,全键盘上的键数少于许多键码值。

再多一封感谢信。让这些已经在对象中是一个很好的节省时间。
2021-05-02 23:44:00
当我按下 Mac 上的 right+cmd 按钮时,它返回右键单击?
2021-05-15 23:44:00

http://keycodes.atjayjo.com/

这个应用程序太棒了。它本质上是一个虚拟键盘,可以立即向您显示在标准美式键盘上按下的键码。

尽管 OP 努力跟进。只是真棒!
2021-04-29 23:44:00

这是一个完整的列表——我相信:http : //www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

我根据此链接创建了一个带有 KEY_CODE 常量的要点:gist.github.com/DJDaveMark/eb9725825ac3a87616c66d05a8cf8f4a
2021-05-08 23:44:00