【问题标题】:Javascript keypress/down/up events firing orderJavascript按键/向下/向上事件触发顺序
【发布时间】:2017-07-07 09:47:26
【问题描述】:

考虑一下这个简单的代码:

document.addEventListener( 'keypress', function() { console.log( 'press' ); } );
document.addEventListener( 'keydown',  function() { console.log( 'down' );  } );
document.addEventListener( 'keyup',    function() { console.log( 'up' );    } );

我在 Safari 9FF 51 上都试过了,事件触发的顺序始终是:

down -> press -> up

这很有意义(至少对我来说)。

我的问题是:

这是标准行为还是某些浏览器(可能是 IE8 等较旧的浏览器)以不同的顺序触发按键事件?

更具体地说,我很想知道某些浏览器是否会触发 press 之前 down

【问题讨论】:

  • 什么会让您认为顺序可能不是:向下、按下、向上?
  • 给定浏览器的奇怪行为。

标签: javascript events keyboard


【解决方案1】:

只要关注顺序,是的,所有浏览器都会执行相同的顺序... IE8 将不支持 addListner 事件,所以那里的顺序没有问题.. 但是 IE9 和 IE9+ 将执行相同的顺序。

【讨论】:

  • 好吧,我已经在 IE 8 到 IE Edge、Chrome 10、FF 10、Safari 6 上对其进行了测试。除了 IE 记录控制台“不支持 EventListener”
猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多