Fix patch for #7150, which was not deleting the events object properly on plain JS objects. Thanks to jitter for catching it.
This commit is contained in:
parent
ff6ceadbfd
commit
1518ae1aed
|
@ -282,11 +282,11 @@ jQuery.event = {
|
|||
handle.elem = null;
|
||||
}
|
||||
|
||||
delete elemData[ eventKey ];
|
||||
delete elemData.events;
|
||||
delete elemData.handle;
|
||||
|
||||
if ( typeof elemData === "function" ) {
|
||||
jQuery.removeData( elem, "events" );
|
||||
jQuery.removeData( elem, eventKey );
|
||||
|
||||
} else if ( jQuery.isEmptyObject( elemData ) ) {
|
||||
jQuery.removeData( elem );
|
||||
|
|
|
@ -443,7 +443,7 @@ test("bind(name, false), unbind(name, false)", function() {
|
|||
});
|
||||
|
||||
test("bind()/trigger()/unbind() on plain object", function() {
|
||||
expect( 5 );
|
||||
expect( 7 );
|
||||
|
||||
var obj = {};
|
||||
|
||||
|
@ -459,6 +459,7 @@ test("bind()/trigger()/unbind() on plain object", function() {
|
|||
|
||||
var events = jQuery(obj).data("__events__");
|
||||
ok( events, "Object has events bound." );
|
||||
equals( obj.events, undefined, "Events object on plain objects is not events" );
|
||||
equals( typeof events, "function", "'events' expando is a function on plain objects." );
|
||||
equals( obj.test, undefined, "Make sure that test event is not on the plain object." );
|
||||
equals( obj.handle, undefined, "Make sure that the event handler is not on the plain object." );
|
||||
|
@ -473,6 +474,8 @@ test("bind()/trigger()/unbind() on plain object", function() {
|
|||
|
||||
// Make sure it doesn't complain when no events are found
|
||||
jQuery(obj).unbind("test");
|
||||
|
||||
equals( obj.__events__, undefined, "Make sure events object is removed" );
|
||||
});
|
||||
|
||||
test("unbind(type)", function() {
|
||||
|
|
Loading…
Reference in a new issue