Widget: Only trigger remove event if keepData is not set to true.

Fixes #5076 - Using effects kills widget instances with jQuery 1.4.
This commit is contained in:
Scott González 2010-01-19 04:11:33 +00:00
parent 0ec857a5bd
commit c476541251

View File

@ -11,12 +11,12 @@
var _remove = $.fn.remove;
$.fn.remove = function() {
// Safari has a native remove event which actually removes DOM elements,
// so we have to use triggerHandler instead of trigger (#3037).
$( "*", this ).add( this ).each(function() {
$( this ).triggerHandler( "remove" );
});
$.fn.remove = function( selector, keepData ) {
if ( !keepData ) {
$( "*", this ).add( this ).each(function() {
$( this ).triggerHandler( "remove" );
});
}
return _remove.apply( this, arguments );
};
@ -132,7 +132,8 @@ $.Widget.prototype = {
options );
var self = this;
this.element.bind( "remove." + this.widgetName, function() {
this.element.bind( "remove." + this.widgetName, function(event) {
console.log('remove', event);
self.destroy();
});