diff options
Diffstat (limited to 'ui/ui.dialog.js')
-rw-r--r-- | ui/ui.dialog.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ui/ui.dialog.js b/ui/ui.dialog.js index 18f4bb6b7..6045fb51f 100644 --- a/ui/ui.dialog.js +++ b/ui/ui.dialog.js @@ -154,19 +154,24 @@ $.widget("ui.dialog", { }, close: function(event) { - if (false === this._trigger('beforeclose', event)) { + var self = this; + + if (false === self._trigger('beforeclose', event)) { return; } - (this.overlay && this.overlay.destroy()); - this.uiDialog - .hide(this.options.hide) - .unbind('keypress.ui-dialog'); + (self.overlay && self.overlay.destroy()); + self.uiDialog.unbind('keypress.ui-dialog'); + + (self.options.hide + ? self.uiDialog.hide(self.options.hide, function() { + self._trigger('close', event); + }) + : self._trigger('close', event)); - this._trigger('close', event); $.ui.dialog.overlay.resize(); - this._isOpen = false; + self._isOpen = false; }, isOpen: function() { |