From 32a893128dcda19f570dbd8f07d82e6e8d434cdf Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Sat, 17 Nov 2012 13:14:04 +0100 Subject: Dialog: Improve _destroy method, detaching dialog content from wrapper instead of appending to body. --- ui/jquery.ui.dialog.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ui') diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 15e19d7cf..b998c2558 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -123,20 +123,20 @@ $.widget("ui.dialog", { oldPosition = this.oldPosition; this._destroyOverlay(); - this.uiDialog.hide(); + this.element .removeUniqueId() .removeClass( "ui-dialog-content ui-widget-content" ) .hide() - // TODO restore old position directly, instead of appending to body first - .appendTo( "body" ); + // without detaching first, the following becomes really slow + .detach(); + this.uiDialog.remove(); if ( this.originalTitle ) { this.element.attr( "title", this.originalTitle ); } - // TODO do this before removing the wrapper next = oldPosition.parent.children().eq( oldPosition.index ); // Don't try to place the dialog next to itself (#8613) if ( next.length && next[ 0 ] !== this.element[ 0 ] ) { -- cgit v1.2.3