JavaScript可以使用哪些密钥代码?如果它们对于所有浏览器都不相同,请列出每个浏览器的密钥代码。
答案 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
个事件。其中许多是控制角色或特殊字符,例如keyup
(null
),您很可能不需要它们。
请注意,全键盘上的键数少于许多键码值。
答案 3 :(得分:8)
这个应用程序真棒。它本质上是一个虚拟键盘,可以立即显示标准美式键盘上按下的键码。
答案 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;