KeyboardEvent.keyCode弃用了,但是变音符号呢?



我所在的公司有一个有趣的bug:我们有一个应用程序有很多快捷键,包括"(反打号字符),并且由于KeyboardEvent.keyCode已弃用,因此在重构时从

更改了它。
KeyboardEvent.keyCode === 192

KeyboardEvent.key === '`'

这适用于没有激活变音符号的键盘-例如,没有变音符号的美国键盘,按下'键会立即写入'字符-而对于激活了变音符号的用户,则不会(在这种情况下,键入'需要按下'键然后按空格),因为如果你按下'键然后按字母a,例如,你会得到字符。显然,当变音符被激活时,KeyboardEvent.key返回Dead,所以我们必须恢复这个重构。

话虽这么说,除了使用这个已弃用的特性之外,还有其他选择吗?

可以使用KeyboardEvent.code

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

最新更新