什么是JavaScript KeyCodes?

时间:2011-04-09 06:00:44

标签: javascript keycode

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

7 个答案:

答案 0 :(得分:58)

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

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

答案 1 :(得分:30)

关注@pimvdb's advice,并创建了我自己的:

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

请耐心等待,因为需要几秒钟才能为拥有JavaScript密钥代码的65536个字符生成元素。

答案 2 :(得分:18)

对于游戏的控制配置UI,我需要这样的东西,因此我编制了标准美国键盘布局键码的列表,并将它们映射到各自的键名。

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

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

除非您正在寻找包含控制字符和其他特殊值的键码值列表,否则这些值不是(或很少)可以使用键盘输入,并且可能超出{{1的范围Javascript的/} keydown / keypress个事件。其中许多是控制角色或特殊字符,例如keyupnull),您很可能不需要它们。

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

答案 3 :(得分:8)

http://keycodes.atjayjo.com/

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

答案 4 :(得分:5)

答案 5 :(得分:3)

以下是一些有用的链接:

第二列是keyCode,html列显示它将如何显示。 您可以对其进行测试here

答案 6 :(得分: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>')
&#13;
td {
  border: solid 1px;
  padding: 1px 12px;
  text-align: right;
}
table {
  border-collapse: collapse;
}
* {
  font-family: monospace;
  font-size: 1.1em;
}
&#13;
&#13;
&#13;