2 回答
![?](http://img1.sycdn.imooc.com/545845e900013e3e02200220-100-100.jpg)
TA贡献1936条经验 获得超6个赞
来自 MDN(https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode):
已弃用的 KeyboardEvent.keyCode 只读属性表示一个系统和实现相关的数字代码,用于标识按下的键的未修改值。这通常是与密钥对应的十进制 ASCII (RFC 20) 或 Windows 1252 代码。如果无法识别密钥,则此值为 0。
如果可能,您应该避免使用它;它已被弃用一段时间。相反,您应该使用 KeyboardEvent.code(如果已实现)。不幸的是,某些浏览器仍然没有它,因此您必须小心确保使用所有目标浏览器都支持的浏览器。
![?](http://img1.sycdn.imooc.com/533e51f30001edf702000200-100-100.jpg)
TA贡献1811条经验 获得超4个赞
上面评论中所述的 .key 属性对我有用,因为它没有被弃用,并且可以在我正在测试的所有浏览器中使用(chrome 77.0.3865.90[desktop] 和 77.0.3865.92[Iphone]6s what ever safari is on my Iphone6s、firefox 68.0.1 和通过 jetbrains android 模拟器 [firefox 68.1.1] 以及在带有 IE10 和 edge 的 Windows 10 上。keyCode 只在使用 chrome 时出现了一些小问题,出于某种原因,我有时会遇到类型错误. 说实话,我真的很希望能在这个话题上得到一个很好的答案,但几天过去了,我一无所获。由于关于这个主题的内容很少,我想我会扔掉对我有用的东西,然而; key 不适用于所有应用程序。我读过它对于特定于非英语语言的键盘来说不是一个好的选择,因为它以字符串格式返回键的名称,而不是 ASCII 码。
添加回答
举报