Widget: Improve performance of cleanData method

Fixes #9546
Closes gh-1291
This commit is contained in:
Frederik Elvhage 2014-07-24 15:04:06 +02:00 committed by Scott González
parent c399f1f77a
commit f7429edfe9

View File

@ -25,9 +25,16 @@ var widget_uuid = 0,
$.cleanData = (function( orig ) { $.cleanData = (function( orig ) {
return function( elems ) { return function( elems ) {
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { var events, elem, i;
for ( i = 0; (elem = elems[i]) != null; i++ ) {
try { try {
$( elem ).triggerHandler( "remove" );
// Only trigger remove when necessary to save time
events = $._data( elem, "events" );
if ( events && events.remove ) {
$( elem ).triggerHandler( "remove" );
}
// http://bugs.jquery.com/ticket/8235 // http://bugs.jquery.com/ticket/8235
} catch( e ) {} } catch( e ) {}
} }