Bug Tracker

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#8748 closed bug (duplicate)

live('click') and live('submit') fire in the wrong order on IE

Reported by: david.n.arnold@… Owned by: dmethvin
Priority: low Milestone: 1.next
Component: event Version: 1.5.1
Keywords: Cc:
Blocked by: Blocking:

Description

Live events are fired in the order they are bound and do not respect natural event ordering between click and submit.

Click should always fire before submit so that page logic has a chance to stop the event and prevent a submit. Consider validation as a real-world scenario where the order of event firing is critically important.

jsFiddle to demonstrate bug: http://jsfiddle.net/c9Pny/1/

Notice that in the Bind form, events are ordered correctly.

Please disregard the duplicate submit events when pressing enter in the Live form. I believe that is bug #7444 and is not the subject of this ticket.

Other reference: #7922 fixed the fact that live('click') was not firing at all. This ticket, however, is to point out that they are firing in the wrong order.

Change History (8)

comment:1 Changed 8 years ago by Rick Waldron

Component: unfiledevent
Priority: undecidedlow
Resolution: duplicate
Status: newclosed

See: #8568 & #3781

Last edited 8 years ago by john (previous) (diff)

comment:2 Changed 8 years ago by Rick Waldron

Duplicate of #3781.

comment:3 Changed 8 years ago by dmethvin

Milestone: 1.next1.6
Resolution: duplicate
Status: closedreopened

I am pretty sure this is a different case. The change event has to be synthesized in IE for some cases and for those times the synthesized event fires when the piggybacked event runs. I'll take this ticket and see if we can do something about the event order.

comment:4 Changed 8 years ago by dmethvin

Owner: set to dmethvin
Status: reopenedassigned

comment:5 Changed 8 years ago by david.n.arnold@…

@dmethvin thanks for picking this one up!

@rwaldron This is definitely not a dupe. I realize that expecting complete control over event ordering is madness. However, the DOM level 2 event spec states that certain events (namely, click) have default actions which should be cancelable with preventDefault (section 1.2.4). If submit fires before click, I cannot prevent it.

Currently, this works fine in all browsers except IE. I think this is just a leaky abstraction from the contortions necessary to implement live on IE.

comment:6 Changed 8 years ago by john

Milestone: 1.61.next

comment:7 Changed 8 years ago by dmethvin

Resolution: duplicate
Status: assignedclosed

Grouping under one ticket.

comment:8 Changed 8 years ago by dmethvin

Duplicate of #7061.

Note: See TracTickets for help on using tickets.