[英]event.keyCode alternative
我正在为Firefox开发虚拟键盘扩展。 此扩展的一个功能是将用户按下的键转换为另一个布局。
示例:我需要在Bashkir布局上键入文本,但我的操作系统不支持它。 因此,我可以使用此虚拟键盘扩展而不更改系统设置。
在Windows XP上需要它,它不支持多种语言。 我使用event.keyCode
来检测按下了哪个键。 我使用它是因为尽管系统布局,它仍能检测到密钥代码。
但我在Firefox中错过了如果键盘是非英语布局, event.keyCode
无法正常使用某些键,即[ ] ; ' , 。 /和\\ 。
如果我输入q键, keyCode
返回81,如果我输入俄语© ,这是相同的键, keyCode
也返回81
。 但是,如果我键入[ key, keyCode
返回219
,如果我键入俄语х ,这是相同的键, keyCode
返回0
。
是否存在任何keyCode
替代品?
KeyboardEvents的可用属性在MDN上的链接页面上描述 。 他们包括:
KeyboardEvent.code似乎是可以为您提供最佳信息的,并且不会被弃用。 但是,它只能在Firefox的Nightly,Aurora和Developer Edition中从Firefox 32.0获得。 从Firefox 38.0开始,它将在标准版本中提供,或者将在标准版本中提供。
您可能需要尝试使用charCode
, code
, key
, keyCode
各种组合which
以获取所需的信息。 如果您希望支持各种Firefox版本,您几乎肯定必须使用不同属性的组合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.