Javascript event.keyCode替代方案

Javascript event.keyCode替代方案,javascript,firefox,firefox-addon,dom-events,Javascript,Firefox,Firefox Addon,Dom Events,我正在为Firefox开发一个虚拟键盘扩展。此扩展的功能之一是将用户按下的键转换为其他布局 示例:我需要在Bashkir布局上键入文本,但我的操作系统不支持它。因此,我可以使用这个虚拟键盘扩展,而不更改系统设置 在不支持多种语言的Windows XP上需要它。 我过去常常检测按下了哪个键。我之所以使用它,是因为不管系统布局如何,它都能检测到关键代码 但在Firefox中,如果键盘是非英语布局,我就忽略了这一点,event.keyCode不能正确使用某些键,即[];',。/和\ 如果我键入q键,k

我正在为Firefox开发一个虚拟键盘扩展。此扩展的功能之一是将用户按下的键转换为其他布局

示例:我需要在Bashkir布局上键入文本,但我的操作系统不支持它。因此,我可以使用这个虚拟键盘扩展,而不更改系统设置

在不支持多种语言的Windows XP上需要它。 我过去常常检测按下了哪个键。我之所以使用它,是因为不管系统布局如何,它都能检测到关键代码

但在Firefox中,如果键盘是非英语布局,我就忽略了这一点,
event.keyCode
不能正确使用某些键,即[];',。/和\

如果我键入q键,
keyCode
返回81,如果我键入相同键的俄语,
keyCode
也返回
81
。但是,如果我键入[key,
keyCode
返回
219
,如果我键入的是相同的键,则
keyCode
返回
0


是否存在任何
keyCode
备选方案?

的可用属性。它们包括:

  • 已弃用
  • 已弃用
  • 已弃用
似乎是一款可以为您提供最佳信息的产品,并未被弃用。但是,它仅在Firefox的夜间版、极光版和开发者版的Firefox 32.0中提供。从Firefox 38.0及以后,它现在或将在标准发行版中提供


您可能必须尝试使用
charCode
code
key
keyCode
的各种组合才能获得所需的信息。如果您希望支持广泛的Firefox版本,您几乎肯定必须使用不同属性的组合。

“imk_”和德语“ü”也是同一个键,都返回0作为
keyCode
。您可以尝试
key
,它将返回“imk_”或“ü”,或者尝试
code
它将始终返回“bracketleet”或者三者的组合-
keyCode
无论如何都是不推荐的。谢谢,Xufox。
event.code
对我来说很有用。我没有使用过FF developer edition,所以我以前没有想过
event.code