jQuery IE7 / IE8:绑定方法事件命令错误?

时间:2011-06-15 11:02:06

标签: jquery internet-explorer

以下是示例: http://jsfiddle.net/ewzHu/2/

<input id="testing" />

$('#testing').bind('change keydown',function(e){
    $('body').append('<br />'+e.type);
});

仅在按下 ENTER 按钮时触发两个更改事件而不是IE中的一个更改事件,并且不会触发keydown。

如果我改变那样的绑定顺序:

$('#testing').bind('keydown change',function(e){
    $('body').append('<br />'+e.type);
});

一切似乎都没问题。

它看起来像一个错误,但我不是那么有经验。

谢谢;)

1 个答案:

答案 0 :(得分:1)

可能是个错误。我在Firefox,Chrome,IE9,IE8和IE7中对此进行了测试,这是我得到的结果:

  • Firefox Fired:keydown,然后改变。
  • Chrome已解雇:keydown,然后更改。
  • IE9被解雇:仅限一个Keydown
  • IE7 / 8被解雇:两次改变

喜欢浏览器的不一致!我尽量不依赖于这样的事情。另一个选择是包装或修复它,以便吃掉不需要的事件,如果它很重要的话。