Svi*_*ish 130 jquery-ui jquery-ui-dialog
当ajax操作失败时,我创建一个带有错误的新div,然后将其显示为对话框.当对话框关闭时,我想彻底销毁并再次移除div.我怎样才能做到这一点?我的代码目前看起来像这样:
$('<div>We failed</div>')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).destroy().remove();
}
});
Run Code Online (Sandbox Code Playgroud)
当我运行它时,对话框显示正确,但是当我关闭它时,对话框仍然在html中可见(使用FireBug).我在这里错过了什么?我忘记了什么?
更新:刚刚注意到我的代码在firebug控制台中给了我一个错误.
$(this).destroy不是函数
有人能帮帮我吗?
更新:如果我这样做$(this).remove()
,该项目将从html中删除.但它是否完全从DOM中删除?或者我是否还需要首先调用destroy函数?
lom*_*axx 257
$(this).dialog('destroy').remove()
Run Code Online (Sandbox Code Playgroud)
这将破坏对话框,然后从DOM中删除完全"托管"对话框的div
Fio*_*ite 10
你为什么要删除它?
如果要防止创建多个实例,那么只需使用以下方法......
$('#myDialog')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).dialog('close');
}
});
Run Code Online (Sandbox Code Playgroud)
当错误发生时,你会......
$('#myDialog').html("Ooops.");
$('#myDialog').dialog('open');
Run Code Online (Sandbox Code Playgroud)
小智 8
$(dialogElement).empty();
$(dialogElement).remove();
Run Code Online (Sandbox Code Playgroud)
这可以解决它真实的问题
这对我有用
$('<div>We failed</div>')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).dialog("close");
$(this).remove();
}
});
Run Code Online (Sandbox Code Playgroud)
干杯!
PS:我有一个有点类似的问题,上面的方法解决了它。
归档时间: |
|
查看次数: |
176278 次 |
最近记录: |