Bug Tracker

Opened 7 years ago

Closed 6 years ago

#7161 closed bug (fixed)

Submit event on a form element not unbound properly in IE

Reported by: gethinw Owned by: dmethvin
Priority: high Milestone: 1.7
Component: event Version: 1.4.2
Keywords: Cc:
Blocked by: Blocking:

Description

Submit events are not unbound fully from form elements in Internet Explorer. Would appear to be because jQuery.event.special.submit.setup (2199 in 1.4.2 source) is only applied if the element in question isn't a form, whereas the teardown function (2222) gets applied regardless, therefore not removing the standard submit event.

Change History (10)

comment:1 Changed 7 years ago by addyosmani

Component: unfiledevent
need: ReviewTest Case
Owner: set to gethinw
Status: newpending

Could you submit a valid test case for us to see where this is breaking?.

comment:2 Changed 7 years ago by gethinw

Status: pendingnew

comment:2 Changed 7 years ago by gethinw

OK - found an interesting twist on this while putting together a test case:

Bug is as previously described in http://fiddle.jshell.net/kytmD/2/ - if you 'Bind' then 'Unbind' then submit the form, an error will occur.

However, if the JS is run on load ('$(window).load(...)') rather than onReady ('$(...)') - http://fiddle.jshell.net/kytmD/1/ - the error doesn't occur. This would appear to be a side-effect of the fact that attaching a load event to the window creates an object in $(window).data('events'), the lack of which (at line 1919) causes the error in the other case, but as far as I can tell the handle function (1904) shouldn't be being called at all, so this is a coincidence rather than a fix.

comment:3 Changed 7 years ago by snover

Status: newpending

This ticket has been marked as missing a test case. In an effort to reduce the number of outstanding tickets in the bug tracker, it will be closed automatically in 30 days. In order to prevent this from happening, please provide a working test case. If a test case has already been provided and our records are wrong, please respond to the ticket so that it can be fixed. Thank you!

comment:4 in reply to:  3 Changed 7 years ago by gethinw

Status: pendingnew

Test case provided in comment:2
Replying to snover:

This ticket has been marked as missing a test case. In an effort to reduce the number of outstanding tickets in the bug tracker, it will be closed automatically in 30 days. In order to prevent this from happening, please provide a working test case. If a test case has already been provided and our records are wrong, please respond to the ticket so that it can be fixed. Thank you!

comment:5 Changed 7 years ago by snover

Status: newopen

comment:6 Changed 7 years ago by snover

Milestone: 1.4.3

Resetting milestone to future.

comment:7 Changed 7 years ago by john

Milestone: 1.next
Priority: undecidedhigh

comment:8 Changed 6 years ago by dmethvin

Milestone: 1.next1.7
Owner: changed from gethinw to dmethvin
Status: openassigned

I think I've fixed this IE8 bug in my 1.7 branch, I'll confirm later this month when it lands.

comment:9 Changed 6 years ago by dmethvin

Resolution: fixed
Status: assignedclosed

This is fixed as a result of the event rewrite in 1.7.

Note: See TracTickets for help on using tickets.