Javascript event.keyCode替代方案
我正在为Firefox开发一个虚拟键盘扩展。此扩展的功能之一是将用户按下的键转换为其他布局 示例:我需要在Bashkir布局上键入文本,但我的操作系统不支持它。因此,我可以使用这个虚拟键盘扩展,而不更改系统设置 在不支持多种语言的Windows XP上需要它。 我过去常常检测按下了哪个键。我之所以使用它,是因为不管系统布局如何,它都能检测到关键代码 但在Firefox中,如果键盘是非英语布局,我就忽略了这一点,Javascript event.keyCode替代方案,javascript,firefox,firefox-addon,dom-events,Javascript,Firefox,Firefox Addon,Dom Events,我正在为Firefox开发一个虚拟键盘扩展。此扩展的功能之一是将用户按下的键转换为其他布局 示例:我需要在Bashkir布局上键入文本,但我的操作系统不支持它。因此,我可以使用这个虚拟键盘扩展,而不更改系统设置 在不支持多种语言的Windows XP上需要它。 我过去常常检测按下了哪个键。我之所以使用它,是因为不管系统布局如何,它都能检测到关键代码 但在Firefox中,如果键盘是非英语布局,我就忽略了这一点,event.keyCode不能正确使用某些键,即[];',。/和\ 如果我键入q键,k
event.keyCode
不能正确使用某些键,即[];',。/和\
如果我键入q键,keyCode
返回81,如果我键入相同键的俄语,keyCode
也返回81
。但是,如果我键入[key,keyCode
返回219
,如果我键入的是相同的键,则keyCode
返回0
是否存在任何
keyCode
备选方案?的可用属性。它们包括:
- (已弃用)
- (已弃用)
- (已弃用)
您可能必须尝试使用
charCode
、code
、key
、keyCode
和的各种组合才能获得所需的信息。如果您希望支持广泛的Firefox版本,您几乎肯定必须使用不同属性的组合。“imk_”和德语“ü”也是同一个键,都返回0作为keyCode
。您可以尝试key
,它将返回“imk_”或“ü”,或者尝试code
它将始终返回“bracketleet”或者三者的组合-keyCode
无论如何都是不推荐的。谢谢,Xufox。event.code
对我来说很有用。我没有使用过FF developer edition,所以我以前没有想过event.code