diff options
-rw-r--r-- | ui/jquery.ui.widget.js | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js index 29d09794c..49067449d 100644 --- a/ui/jquery.ui.widget.js +++ b/ui/jquery.ui.widget.js @@ -12,12 +12,16 @@ var _remove = $.fn.remove; $.fn.remove = function( selector, keepData ) { - if ( !keepData ) { - $( "*", this ).add( this ).each(function() { - $( this ).triggerHandler( "remove" ); - }); - } - return _remove.apply( this, arguments ); + return this.each(function() { + if ( !keepData ) { + if ( !selector || $.filter( selector, [ this ] ).length ) { + $( "*", this ).add( this ).each(function() { + $( this ).triggerHandler( "remove" ); + }); + } + } + return _remove.call( $(this), selector, keepData ); + }); }; $.widget = function( name, base, prototype ) { |