小编典典

不推荐使用 KeyboardEvent.keyCode。这在实践中意味着什么?

all

根据 MDN,我们绝对 应该使用该.keyCode属性。它已被弃用:

https://developer.mozilla.org/en-
US/docs/Web/API/KeyboardEvent/keyCode

在 W3 学校,这个事实被淡化了,只有一个旁注说这.keyCode只是为了兼容而提供的,最新版本的 DOM 事件规范建议使用该.key属性。

问题是.key浏览器不支持,那么我们应该使用什么?有什么我想念的吗?


阅读 68

收藏
2022-06-25

共1个答案

小编典典

您有三种方法来处理它,因为它写在您共享的链接上。

if (event.key !== undefined) {

} else if (event.keyIdentifier !== undefined) {

} else if (event.keyCode !== undefined) {

}

你应该考虑它们,如果你想要跨浏览器支持,那是正确的方法。

如果你实现这样的东西可能会更容易。

var dispatchForCode = function(event, callback) {
  var code;

  if (event.key !== undefined) {
    code = event.key;
  } else if (event.keyIdentifier !== undefined) {
    code = event.keyIdentifier;
  } else if (event.keyCode !== undefined) {
    code = event.keyCode;
  }

  callback(code);
};
2022-06-25