mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Fix #11925, Pass eventHandle to special.teardown. Closes gh-831.
* Added unit test to confirm. The third assertion fails without the fix in ./src/event.js
This commit is contained in:
parent
d2b0c60840
commit
9bb3494ce9
@ -181,7 +181,7 @@ jQuery.event = {
|
|||||||
// Remove generic event handler if we removed something and no more handlers exist
|
// Remove generic event handler if we removed something and no more handlers exist
|
||||||
// (avoids potential for endless recursion during removal of special event handlers)
|
// (avoids potential for endless recursion during removal of special event handlers)
|
||||||
if ( eventType.length === 0 && origCount !== eventType.length ) {
|
if ( eventType.length === 0 && origCount !== eventType.length ) {
|
||||||
if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
|
if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
|
||||||
jQuery.removeEvent( elem, type, elemData.handle );
|
jQuery.removeEvent( elem, type, elemData.handle );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1382,6 +1382,21 @@ test("Submit event can be stopped (#11049)", function() {
|
|||||||
form.remove();
|
form.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("on(beforeunload) creates/deletes window property instead of adding/removing event listener", function() {
|
||||||
|
expect(3);
|
||||||
|
|
||||||
|
equal( window.onbeforeunload, null, "window property is null/undefined up until now" );
|
||||||
|
|
||||||
|
var handle = function () {};
|
||||||
|
jQuery(window).on( "beforeunload", handle );
|
||||||
|
|
||||||
|
equal( typeof window.onbeforeunload, "function", "window property is set to a function");
|
||||||
|
|
||||||
|
jQuery(window).off( "beforeunload", handle );
|
||||||
|
|
||||||
|
equal( window.onbeforeunload, null, "window property has been unset to null/undefined" );
|
||||||
|
})
|
||||||
|
|
||||||
test("jQuery.Event( type, props )", function() {
|
test("jQuery.Event( type, props )", function() {
|
||||||
|
|
||||||
expect(5);
|
expect(5);
|
||||||
|
Loading…
Reference in New Issue
Block a user