Skip to content

Commit

Permalink
Fix patch for #7150, which was not deleting the events object properl…
Browse files Browse the repository at this point in the history
…y on plain JS objects. Thanks to jitter for catching it.
  • Loading branch information
csnover committed Oct 12, 2010
1 parent ff6cead commit 1518ae1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 );
Expand Down
5 changes: 4 additions & 1 deletion test/unit/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {};

Expand All @@ -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." );
Expand All @@ -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() {
Expand Down

0 comments on commit 1518ae1

Please sign in to comment.