为什么keydown和keyup事件中的keycode不同?

时间:2015-11-14 00:16:01

标签: javascript keyevent

我在http://www.asquare.net/javascript/tests/KeyCode.html

上测试输入

keycode in keydown and keyup event are different

keycodekeydown事件中的

keyup不同。为什么会这样?另外我们能够找出从给定表中按下的键吗?

我知道我们通常使用String.fromCharCode(),但我应该使用哪个值,229或49,还是平均值? LOL

我在Windows 7上使用的是Chrome版本44.0.2403.155 m。

1 个答案:

答案 0 :(得分:0)

Legacy KeyboardEvent supplemental interface(强调我的):

  

键盘的浏览器支持传统上依赖于三个ad-hoc   属性,keyCodecharCodewhich

     

这三个属性都返回一个代表的数字代码   按下键的某些方面:keyCode是键的索引   本身。 charCode是字符键的ASCII值。 which   是可用的字符值,否则是键索引。   这些属性的值以及可用性   属性平台,键盘语言中不一致   和布局,用户代理,版本,甚至事件类型

根据Legacy Key Attributes

,这就是原因
  

作者应该使用KeyboardEvent.key属性而不是。{   charCodekeyCode属性。