X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fcore.js;h=3cfabe3a044fda67fc46e79fd8a0fc053c820453;hb=92aac3abd6bc493a0c5f216e2e51359024b90af1;hp=59cc1fc975265fe26034fd38dbf2e405ec72c8eb;hpb=bb998f25185e9b98514219e2ab169411f4ed7fb0;p=jquery.git diff --git a/src/core.js b/src/core.js index 59cc1fc..3cfabe3 100644 --- a/src/core.js +++ b/src/core.js @@ -1251,17 +1251,20 @@ jQuery.each({ remove: function( selector ) { if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) { - jQuery.removeData( this ); + // Prevent memory leaks + jQuery( "*", this ).add(this).each(function(){ + jQuery.event.remove(this); + jQuery.removeData(this); + }); this.parentNode.removeChild( this ); } }, empty: function() { - // Clean up the cache - jQuery( "*", this ).each(function(){ - jQuery.removeData(this); - }); - + // Remove element nodes and prevent memory leaks + jQuery( ">*", this ).remove(); + + // Remove any remaining nodes while ( this.firstChild ) this.removeChild( this.firstChild ); }