哪些键码可用于JavaScript?如果所有浏览器的名称都不相同,请列出每个浏览器的键码。
哪些键码可用于JavaScript?如果所有浏览器的名称都不相同,请列出每个浏览器的键码。
Answers:
keyCode与ASCII值不同。有关完整的keyCode参考,请参见http://unixpapa.com/js/key.html
例如,数字键的键码为96-105,与ASCII中小写字母的开头相对应。这可能导致验证数字输入时出现问题。
遵循@pimvdb的建议,并创建了我自己的:
http://daniel-hug.github.io/characters/
请耐心等待,因为要为包含JavaScript键码的65536个字符中的每个字符生成一个元素需要花费几秒钟的时间。
对于游戏的控制配置UI,我需要类似的内容,因此我为标准的美国键盘布局键码编制了一个列表,并将其映射到各自的键名。
这是一个小提琴,其中包含代码映射->名称,反之亦然:http : //jsfiddle.net/vWx8V/
如果要支持其他按键布局,则需要修改这些地图以分别容纳它们。
除非您正在寻找键码值的列表,这些键码值包括控制字符和其他(或很少)无法使用键盘输入且可能不在Java的keydown
/ keypress
/keyup
事件范围内的特殊值。其中许多是控制字符或特殊字符,例如null
(\0
),您很可能将不需要它们。
请注意,全键盘上的键数少于许多键码值。
以下是一些有用的链接:
第二列是keyCode,而html列则显示了它的显示方式。您可以在这里进行测试。
运行此代码段时,将给出一个可能的答案。
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;
}