From 51c2ec0dd31f36040da91f9edb456c5ff39e507a Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 29 Aug 2014 23:11:04 -0700 Subject: [PATCH] perf(jQuery): only trigger $destroy if a handler exists --- src/Angular.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Angular.js b/src/Angular.js index a90d7ee7b35b..27179ce24961 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -1510,9 +1510,13 @@ function bindJQuery() { // the $destroy event on all removed nodes. originalCleanData = jQuery.cleanData; jQuery.cleanData = function(elems) { + var events; if (!skipDestroyOnNextJQueryCleanData) { for (var i = 0, elem; (elem = elems[i]) != null; i++) { - jQuery(elem).triggerHandler('$destroy'); + events = jQuery._data(elem, "events"); + if (events && events.$destroy) { + jQuery(elem).triggerHandler('$destroy'); + } } } else { skipDestroyOnNextJQueryCleanData = false;