diff options
author | Ilya Kantor <iliakan@gmail.com> | 2013-10-15 17:09:55 +0400 |
---|---|---|
committer | Dave Methvin <dave.methvin@gmail.com> | 2013-11-14 14:46:47 -0500 |
commit | d0782ed7e81a181f0541e1ce7c8cba0825a80299 (patch) | |
tree | 4742a40dc4b68292d391498eec80f2424ca8f40e /src | |
parent | c389c2e6ba698e95c683ad113d728e757a4da29a (diff) | |
download | jquery-d0782ed7e81a181f0541e1ce7c8cba0825a80299.tar.gz jquery-d0782ed7e81a181f0541e1ce7c8cba0825a80299.zip |
Event: Fix #14544. Remove elem from event handle, close gh-1400.
This also reduces memory leaks if the element is removed without cleaning
events (e.g with native DOM operations).
Not pickable into the 1.x branch because oldIE still needs this.
Diffstat (limited to 'src')
-rw-r--r-- | src/event.js | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/event.js b/src/event.js index fc924ec36..5ca6d2e96 100644 --- a/src/event.js +++ b/src/event.js @@ -72,12 +72,9 @@ jQuery.event = { eventHandle = elemData.handle = function( e ) { // Discard the second event of a jQuery.event.trigger() and // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; + return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; } // Handle multiple events separated by a space @@ -146,8 +143,6 @@ jQuery.event = { jQuery.event.global[ type ] = true; } - // Nullify elem to prevent memory leaks in IE - elem = null; }, // Detach an event or set of events from an element |