【发布时间】:2012-11-22 00:41:18
【问题描述】:
按escape时如何销毁jquery对话框?
有没有办法添加这样的代码: $.dialog('destroy');
在关闭事件中? 这是关闭事件:它看到最后一个“else”有一个隐藏方法,这就是那个人。但不能破坏那里的任何东西:
close: function( event ) {
var that = this,
maxZ, thisZ;
if ( !this._isOpen ) {
return;
}
if ( false === this._trigger( "beforeClose", event ) ) {
return;
}
this._isOpen = false;
if ( this.overlay ) {
this.overlay.destroy();
}
if ( this.options.hide ) {
this._hide( this.uiDialog, this.options.hide, function() {
that._trigger( "close", event );
});
} else {
this.uiDialog.hide();
this._trigger( "close", event );
}
【问题讨论】:
-
您只想关闭对话框?如果您只想关闭对话框,只需执行 $.dialog({ closeOnEscape: true });
-
不,这是默认设置的。如果我在逃跑时关闭,内容仍然存在。它只是隐藏内容。下次用户创建对话框时,我的选项卡会出现问题。我找到了按钮的解决方案。我只是添加了 .dialog('destroy') ,它确实从 DOM 中删除了所有内容。我希望这种行为与关闭事件相关联,所以当我按下转义键时,我的一切都从 DOM 中消失了。我已经编辑了我的问题。
-
创建对话框时为什么不直接删除内容呢?然后就可以使用 closeOnEscape 方法了。
标签: jquery jquery-ui dialog jquery-ui-dialog jquery-dialog