当KeyboardEvent
触发时,您可以测试按下了哪个键,因为该事件包含可以针对其编写逻辑的信息。
document.addEventListener("keydown", function(event) {
console.log(event.which);
})
例如,按“ a”,您将得到65
。 显然, 最好编写逻辑,因为keyCode和charCode很复杂:
event.which属性规范化event.keyCode和event.charCode。 建议观看事件。
和 :
在keypress事件中,所按下键的Unicode值存储在keyCode或charCode属性中,而不是两者都存储。 如果按下的键生成一个字符(例如“ a”),则将charCode设置为该字符的代码,同时注意字母大小写。 (即charCode考虑是否按住Shift键)。 否则,按下的键的代码将存储在keyCode中。
测试工具
见笔event.keyCode测试由克里斯Coyier( @chriscoyier上) CodePen 。
键码值
这是一个表,其中包含event.which
中的值。
|
|
|
Zell Liew注意到Firefox中的这些键码中的3个不同于其他浏览器
-
;
在Firefox中为59,在其他浏览器中为186。 -
=
在Firefox中为61,在其他浏览器中为187。 -
-
在Firefox中为173,在其他浏览器中为189。
重要说明:这些键码值仅在keydown
和keyup
事件期间有效。 在Mac上, keypress
事件为您提供了完全不同的代码集。
例如:
键 | keydown中的event.which 。 | event.which 在按键 |
一个 | 65 | 97 |
b | 66 | 98 |
C | 67 | 99 |
翻译自: https://css-tricks.com/snippets/javascript/javascript-keycodes/