微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 KeyboardEvent.code 找出 KeyboardEvent.key

如何解决通过 KeyboardEvent.code 找出 KeyboardEvent.key

KeyboardEvent 有 2 个属性

如何在没有事件本身的情况下让 key 拥有 code? 所以我只有事件之外的 code 值,想知道 key 与它有什么关联。

解决方法

key 中可靠地猜出 code 是不可能的,因为 code 指的是被按下的物理键,而 key 的值取决于键盘布局。例如,在我的德国 QWERTZ 键盘上,对应于 key 'BracketLeft' 的 code 是 'ü',而在美国 QWERTY 键盘上则是 ']'。

如果您的目标是告诉您的用户按哪个键来触发某些操作,您可以尝试其他一些方法:

  • 创建一个突出显示按键的键盘图像并将其显示为提示
  • 以某种方式让您的用户按下该键,这样您就可以观察实际事件并以这种方式了解适当的 key
  • 为您的用户最有可能使用的键盘布局创建 code -> key 映射,并根据浏览器区域设置和/或观察到的键盘事件猜测正确的映射

这些选项都不是完美的,但我认为可以让您非常接近。

,

您可能想在 json 文件中存储代码关联数组 -> 键?我没有看到其他解决方案

,

我希望我答对了您的问题,如果是这样,我想您的问题在这里得到了解答:Get Character value from KeyCode in JavaScript... then trim

我认为您正在寻找的功能是:

String.fromCharCode(e.keyCode);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。