什么是JavaScript KeyCode?[关闭]


82

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


因此,完整的您想要整个unicode范围吗?您应指定“完成”是什么意思。
2011年

完整的意思是包含所有键码编号。我给出的示例给出了数字8,9,13,16,17 ...因此跳过了一些数字。
Web_Designer 2011年

3
我确实相信有许多字符被分配了JavaScript密钥代码。
Web_Designer

7
为什么不使用JavaScript自己创建这样的表?
pimvdb

1
@pimvdb接受您的建议!stackoverflow.com/a/14905611/552067
Web_Designer

Answers:


58

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

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


2
链接到的页面没有完整的参考。它充分说明了键码取决于键盘,键码或键码组合的含义取决于解释它们的软件。因此,不可能有完整的列表。
Jukka K. Korpela 2013年

9
http://www.javascriptkeycode.com拥有一个便捷的按键代码生成器,最近我已使用它来测试不同的键盘组合。
拉兹·威尔逊

30

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

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

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


13
糟糕的网站,让我的浏览器每次崩溃。不要使用这个!
Florian Leitgeb 2014年

@Floeee对不起,它当前为所有具有javascript密钥代码的65536个字符生成一个表格行。它可以非常有效地执行此操作,但是仍然需要10到20秒。我可能会对其进行更改,以便仅在启动时加载1000,然后根据要求加载更多。编辑答案以解释这一点。
Web_Designer 2014年

为什么不在页面开头显示一条简单的文本消息来说明这一点?
Jared 2014年

4
说“在终止进程之前,不可逆转地使浏览器崩溃需要10到20秒的时间”可能更准确。
异议人士愤怒

3
这些是charCodes不是keyCodes。keyCode列在unixpapa.com/js/key.html的3.3部分下
Semra

18

对于游戏的控制配置UI,我需要类似的内容,因此我为标准的美国键盘布局键码编制了一个列表,并将其映射到各自的键名。

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

如果要支持其他按键布局,则需要修改这些地图以分别容纳它们。

除非您正在寻找键码值的列表,这些键码值包括控制字符和其他(或很少)无法使用键盘输入且可能不在Java的keydown/ keypress/keyup事件范围内的特殊值。其中许多是控制字符或特殊字符,例如null\0),您很可能将不需要它们。

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


再感谢一纸。将这些对象放入对象中可以节省大量时间。
查理·罗伯茨

当我在Mac上按下right + cmd按钮时,它会返回右键单击?
八月




1

运行此代码段时,将给出一个可能的答案。

document.write('<table>')
for (var i = 0; i < 250; i++) {
  document.write('<tr><td>' + i + '</td><td>' + String.fromCharCode(i) + '</td></tr>')
}
document.write('</table>')
td {
  border: solid 1px;
  padding: 1px 12px;
  text-align: right;
}
table {
  border-collapse: collapse;
}
* {
  font-family: monospace;
  font-size: 1.1em;
}


1
这些不是键码,它们是字符码。情况有所不同
Lukas Eder 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.