按住Shift键时的Keydown事件行为

时间:2016-12-30 19:30:05

标签: javascript events javascript-events keyboard keydown

我注意到当你按住一个像A' A'只要你持有keydown事件就会持续触发。但是,按住shift键时,事件仅触发一次。我希望将我的应用程序逻辑基于该观察,但我不知道它是否是每个浏览器中的标准行为。任何人都可以确认吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,这不是您可以依赖的标准行为。我对我安装的几个浏览器(IE Edge,IE 11,Chrome 55,都在Windows机器上)进行了快速测试,其中所有3个浏览器都自动重复了两个字母键的keydown事件(如A )和修饰键(如shift),与你所说的浏览器相反。

Jan Wolter herePeter-Paul Koch here记录了不同浏览器对键盘事件的一致处理一直很困难。 Wolter写了关于自动重复的内容:

  

如果一个键被按下足够长的时间,它通常会自动重复,并且每个自动重复都会触发一些其他事件。在Macintosh和Linux系统上,修饰键通常不会自动重复,但在Windows系统上它们会

然后Wolter接着列出了各种例外情况。