mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Event: Avoid collisions between jQuery.event.special & Object.prototype
This is a follow-up to similar changes to data & event storages from gh-4603. Closes gh-5235 Ref gh-4603
This commit is contained in:
parent
dfe212d5a1
commit
bcaeb000b7
@ -429,7 +429,7 @@ jQuery.event = {
|
||||
new jQuery.Event( originalEvent );
|
||||
},
|
||||
|
||||
special: {
|
||||
special: jQuery.extend( Object.create( null ), {
|
||||
load: {
|
||||
|
||||
// Prevent triggered image.load events from bubbling to window.load
|
||||
@ -494,7 +494,7 @@ jQuery.event = {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} )
|
||||
};
|
||||
|
||||
// Ensure the presence of an event listener that handles manually-triggered
|
||||
|
@ -2428,6 +2428,26 @@ QUnit.test( ".on and .off, selective mixed removal (trac-10705)", function( asse
|
||||
.trigger( "click" ); // 0
|
||||
} );
|
||||
|
||||
QUnit.test( "special interference with Object.prototype", function( assert ) {
|
||||
assert.expect( 1 );
|
||||
|
||||
var triggered = false;
|
||||
|
||||
Object.prototype.jqfake = {
|
||||
trigger: function() {
|
||||
triggered = true;
|
||||
}
|
||||
};
|
||||
|
||||
jQuery( "<div></div>" )
|
||||
.appendTo( "#qunit-fixture" )
|
||||
.trigger( "jqfake" );
|
||||
|
||||
delete Object.prototype.jqfake;
|
||||
|
||||
assert.ok( !triggered, "Object.prototype.jqfake.trigger not called" );
|
||||
} );
|
||||
|
||||
QUnit.test( ".on( event-map, null-selector, data ) trac-11130", function( assert ) {
|
||||
|
||||
assert.expect( 1 );
|
||||
|
Loading…
Reference in New Issue
Block a user