1
我想获取Javascript中的任意字符的Mozilla/IE键盘代码。理想情况下,我会使用charCodeAt()来检索给定字符的键码,但是这会产生对于键控侦听器无用的ASCII值。如何将字符映射到IE/Mozilla键码以用于Javascript键盘事件?
例如:']'.charCodeAt()
返回93,但event.keyCode和event.which = 221
我想获取Javascript中的任意字符的Mozilla/IE键盘代码。理想情况下,我会使用charCodeAt()来检索给定字符的键码,但是这会产生对于键控侦听器无用的ASCII值。如何将字符映射到IE/Mozilla键码以用于Javascript键盘事件?
例如:']'.charCodeAt()
返回93,但event.keyCode和event.which = 221
关键码和由这些键产生的字符之间的映射依赖于键盘布局,而变化显著全世界。而且,通常有很多不同的键击组合可以产生相同的字符。既然如此,就没有可靠的将键码映射到字符的方法,反之亦然。底线:如果您需要检测特定类型的字符,则只有keypress
事件可以执行。如果你想检测物理按键,只有keyup
和会做。
我可能不完全理解'keydown'和'keyup'事件的意图,但是在事件对象中包含ASCII代码似乎并没有这么长时间。所以看起来我们能做的最好的事情就是在'keypress'上记录键入的字符,并在'keyup'上验证记录的字符与我们感兴趣的charcode匹配。 – HOCA 2012-01-31 17:58:48