83

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

4

7 回答 7

59

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

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

于 2011-05-03T14:56:11.240 回答
31

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

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

请耐心等待,因为为 65536 个具有 JavaScript 键码的字符中的每一个生成一个元素需要几秒钟。

于 2013-02-16T00:37:59.247 回答
19

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

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

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

除非您正在寻找包含控制字符和其他特殊值的键码值列表,这些值不能(或很少)使用键盘输入,并且可能超出 JavaScript 的keydown//事件范围keypresskeyup其中许多是控制字符或null( \0) 等特殊字符,您很可能不需要它们。

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

于 2012-09-18T12:05:46.930 回答
8

http://keycodes.atjayjo.com/

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

于 2014-09-15T18:20:32.347 回答
5

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

于 2014-01-21T15:53:33.227 回答
3

以下是一些有用的链接:

第二列是 keyCode,html 列显示它的显示方式。你可以在这里测试它。

于 2012-12-06T14:55:45.760 回答
1

One possible answer will be given when you run this snippet.

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

于 2014-09-24T04:49:59.660 回答