特殊字符的键控,如 öüä 开火 2 次,输出字符不带 '̈'



我在Mac上的Safari上遇到了一个非常奇怪的特殊密钥问题。

上下文有点难以解释,所以我只描述这个问题,希望有人有想法或猜测,为我指明正确的方向。

当我按下类似ö的字符时:

  • 在文本字段中,只有o出现

  • keydown监听器被执行2次。一次使用与o相同的键代码(在ö的情况下),另一次使用键代码0。

  • 我已经连接了keydown和keypress监听器。只执行keydown(对于像o这样的"正常"字母,也执行keypress)。

有什么想法吗。。??提前谢谢。

好的,这里有一部分上下文可以让我们理解:

  • 并没有出现在所有Mac电脑中。

  • 将flash与包含编辑器的iframe一起使用时显示。我把听众附在整个页面和编辑上,看看发生了什么。在flash文本字段中输入时会出现问题。页面上的javascript侦听器会做出反应,并具有我所描述的行为。

我认为这是一个flash文本字段并不相关,因为我在Javascript中捕捉事件,然后它们进入flash,在那里我可以看到这种奇怪的行为。

重复的事件可能是浏览器的一个怪癖,但在任何情况下,Keydown都不能给您提供将要输入的实际字符——它提供的键代码只是识别键盘上的键。结果将输入什么字符(如果有的话)取决于键盘布局、其他组合键(如Shift或AltGr),甚至之前的按键(在"死键"的情况下)。

上有很多关于这方面的信息http://unixpapa.com/js/key.html

最新更新