javascript - KeyboardEvent.keyCode 已弃用,但变音符号呢?
问题描述
在我工作的公司中,我们遇到了一个有趣的错误:我们有一个包含许多快捷键的应用程序,包括“`”(反引号字符),并且由于KeyboardEvent.keyCode
已被弃用,因此在重构时对其进行了更改
KeyboardEvent.keyCode === 192
至
KeyboardEvent.key === '`'
这适用于未激活变音符号的键盘 - 例如,没有变音符号的美式键盘,按下 ` 键会立即写入 ` 字符 - 而对于激活变音符号的用户,则不会(在这种情况下,键入 ` 需要按 ` 键,然后按空格),因为如果您按 ` 键,然后按字母 a,例如,您会得到字符 à。显然激活了变音符号,KeyboardEvent.key
返回Dead
,所以我们不得不恢复这个重构。
话虽如此,使用此已弃用的功能是否有不同的选择?
解决方案
您可以使用 KeyboardEvent.code
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
推荐阅读
- java - 黄瓜定制插件
- javascript - 如何切换 Font Awesome 动画图标?
- javascript - Javascript 错误 - 迭代 itmes 数组
- sql - 可以取消匿名 VALUES 子句吗?
- mongodb - 是否保证两个更新请求返回不同的结果?
- javascript - 为什么数据没有写入文件?
- angular - ngfor 一次解压 2 个变量
- pytorch - 这是一个正确的 memedice 函数实现吗?更高的值是否意味着更好的分割质量?
- nightwatch.js - Nightwatch First Test 在 `before` 钩子完成之前运行
- python - 尝试使用循环简化我的代码,但我不确定如何在循环中插入迭代器