什么是JavaScript KeyCodes?

什么键码可用于JavaScript? 如果它们对于所有浏览器都不一样,请列出每个浏览器的键码。

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

例如,数字键盘号码具有键码96-105,其对应于ASCII中的小写字母的开头。 这可能会导致validation数字input的问题。

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

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

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

我需要这样一个游戏的控制configurationUI,所以我编译了一个标准的美国键盘布局键码的列表,并映射到他们各自的键名。

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

如果你想支持其他关键布局,你需要修改这些地图,以适应他们分开。

除非您正在查找包含控制字符和其他特殊值的键码值列表,这些值不是(或很less)可以使用键盘input,并且可能超出了keydown / keypress / keyup事件的范围的Javascript。 其中许多是控制字符或像null\0 )这样的特殊字符,你很可能不需要它们。

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

http://keycodes.atjayjo.com/

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

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

这里有一些有用的链接:

第二列是keyCode,html列显示了它将如何显示。 你可以在这里testing它。

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

 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; }