From d0782ed7e81a181f0541e1ce7c8cba0825a80299 Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Tue, 15 Oct 2013 17:09:55 +0400 Subject: [PATCH] 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. --- src/event.js | 9 ++------- 1 file 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 -- 2.39.5