我所在的公司有一个有趣的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