Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit f6aa1c5

Browse files
jbedardIgorMinar
authored andcommitted
perf(jQuery): only trigger $destroy if a handler exists
Speeds up largetable destruction by 30% (500ms) when jQuery 2.1.1 is present. Closes #8859
1 parent 43c67cc commit f6aa1c5

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/Angular.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1500,9 +1500,13 @@ function bindJQuery() {
15001500
// the $destroy event on all removed nodes.
15011501
originalCleanData = jQuery.cleanData;
15021502
jQuery.cleanData = function(elems) {
1503+
var events;
15031504
if (!skipDestroyOnNextJQueryCleanData) {
15041505
for (var i = 0, elem; (elem = elems[i]) != null; i++) {
1505-
jQuery(elem).triggerHandler('$destroy');
1506+
events = jQuery._data(elem, "events");
1507+
if (events && events.$destroy) {
1508+
jQuery(elem).triggerHandler('$destroy');
1509+
}
15061510
}
15071511
} else {
15081512
skipDestroyOnNextJQueryCleanData = false;

0 commit comments

Comments
 (0)