javascript - 如何处理非英语按键

标签 javascript internationalization

当我将键盘布局切换为希伯来语并按下一个字符时,它会按原样接收到 kepress 事件中。例如,点击Д(v键),然后e.which就是1492。但是,当我进行组合时,键是英文键。所以对于 alt+‹ e.which 是 86。所以事件看起来像 alt+v

如果我想创建一个接受组合键和回调并注册回调但还显示回调文档的函数,这会很痛苦,因为如果我注册 alt+‹,那么当我按下组合,它看起来像 alt+v,但它与注册的组合不匹配。但是如果我注册 alt+v,那么文档就会很尴尬。

所以我的问题归结为以下情况之一是否可能:

  1. 知道实际按下了哪个键(意思是,知道 alt 而不是 v 一起按下)
  2. 将希伯来文字符(或任何非英语字符)映射到物理英文字符,因此当我的函数接收到 alt+‹ 时,它会将其转换为 alt+v 用于回调查找。

当然,我想要一些通用的东西,它适用于任何语言,而不仅仅是列出希伯来语字母表。

最佳答案

  1. 你不应该关心它是 alt-‹ 还是 alt-v,你想对这两种情况执行相同的操作。
  2. 如果它没有被识别,它在任何地方都没有被识别,所以你的函数也会得到 alt-v。
  3. 如果你的函数得到了一些东西(“Alt”,“Д”)你应该创建一个对象进行转换。 var conv={ 'Д': 'v'; 'ש': 'a',...

关于javascript - 如何处理非英语按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31247493/

相关文章:

javascript - 当单击按钮时,while 循环仅显示数据库中的最后一行[显示模式对话框]

R - 自动查找多个 R 脚本中的字符串匹配项

javascript - “system.Action”不是有效的 Windows 运行时参数类型

javascript - 使元素在jquery中失去焦点

javascript - 如何使用 i18next 翻译部分 HTML 文本?

每种语言的 django cms 权限

ruby-on-rails - Rails I18n : Better way of interpolating links?

ruby-on-rails - 如何在 Ruby 类/模块命名空间中转换模型?

javascript - 如何使用购物车收藏

javascript - 如何在 React 中为状态变化的 span 元素设置动画?