Skip to main content

Bug Tracker

Side navigation

#9590 closed bug (wontfix)

Opened June 15, 2011 11:31AM UTC

Closed July 12, 2011 07:18PM UTC

Last modified March 14, 2012 03:43AM UTC

IE7 / IE8 / IE9 bind() events order bug

Reported by: anonymous Owned by:
Priority: low Milestone: 1.next
Component: event Version: 1.6
Keywords: Cc:
Blocked by: Blocking:
Attachments (0)
Change History (2)

Changed June 15, 2011 03:29PM UTC by rwaldron comment:1

component: unfiledevent
priority: undecidedlow
status: newopen

Copied from stackoverflow:

Here is sample: http://jsfiddle.net/ewzHu/2/

<input id="testing" />

$('#testing').bind('change keydown',function(e){

$('body').append('<br />'+e.type);

});

Triggers two change events instead of one in IE only when ENTER button is pressed and does not triggers keydown.

If i change the order of bindings like that:

$('#testing').bind('keydown change',function(e){

$('body').append('<br />'+e.type);

});

Everything seems to be ok.


Could be a bug. I tested this in Firefox, Chrome, IE9, IE8, and IE7 and here are the results I got:

  • Firefox Fired: keydown, then a change.
  • Chrome Fired: keydown, then a change.
  • IE9 Fired: one Keydown Only
  • IE7/8 Fired: two changes

Gotta love browser inconsistencies! I try not to rely on things like this being in the same order. Another option is to wrap it, or fix it, to eat the unneeded event, if it's important.

Changed July 12, 2011 07:18PM UTC by rwaldron comment:2

resolution: → wontfix
status: openclosed

There is no guarantee of order of events outside of key[down,up,press] and mouse[down,up,click]