为什么当在Mac浏览器上按下metaKey时,Javascript会丢失keyUp事件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (12)

在Mac浏览器中,当metakey关闭时,javascript不会接收大多数键的键入事件(其他键修饰键似乎是一个例外)。使用这个jsfiddle来演示(关注结果区域并尝试类似cmd + x的内容,x不会收到关键事件):http : //jsfiddle.net/mUEaV/

我已经在Chrome,FF,Safari和Opera的稳定版本中转载了此内容。Windows 7中的控制键似乎也没有发生同样的情况。

操作系统是否劫持关键事件?这似乎特别奇怪,因为使用metakey的命令(例如保存,查找,剪切,复制等等)都在keydown上激活,而不是在keyup上激活,并且可以被javascript劫持得很好。

提问于
用户回答回答于

按下这些键时浏览器窗口是否保持焦点?在Windows中,当按下windows+RCTRL+ESC类似的组合键使浏览器失去焦点并导致错过事件时,可能会得到类似的结果。

扫码关注云+社区