【问题标题】:Why are keycode in keydown and keyup event different?为什么 keydown 和 keyup 事件中的 keycode 不同?
【发布时间】:2015-11-14 00:16:01
【问题描述】:

我正在 http://www.asquare.net/javascript/tests/KeyCode.html 上测试输入

keydownkeyup 事件中的keycode 是不同的。为什么会发生?此外,我们是否能够从给定的表格中找出按下了什么键?

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

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

【问题讨论】:

    标签: javascript keyevent


    【解决方案1】:

    Legacy KeyboardEvent supplemental interface(强调我的):

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

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

    这就是为什么,根据Legacy Key Attributes

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

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      相关资源
      最近更新 更多