首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在关闭时完全删除对话框

如何在关闭时完全删除对话框
EN

Stack Overflow用户
提问于 2010-05-19 18:42:56
回答 7查看 190.5K关注 0票数 136

当ajax操作失败时,我创建一个包含错误的新div,然后将其显示为一个对话框。当对话框关闭时,我想完全销毁并再次删除div。我该怎么做呢?我的代码目前看起来像这样:

代码语言:javascript
复制
$('<div>We failed</div>')
    .dialog(
    {
        title: 'Error',
        close: function(event, ui)
        {
            $(this).destroy().remove();
        }
    });

当我运行此命令时,对话框正确显示,但当我关闭它时,该对话框在html中仍然可见(使用FireBug)。这里我漏掉了什么?我忘了什么吗?

更新:刚刚注意到我的代码在firebug控制台中给了我一个错误。

此$(

).destroy不是函数

有谁能帮我吗?

更新:如果我只执行$(this).remove()操作,则该项目将从html中删除。但是它是从DOM中完全删除的吗?或者我是不是也需要先调用销毁函数?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-05-19 18:48:32

代码语言:javascript
复制
$(this).dialog('destroy').remove()

这将销毁对话框,然后从DOM中完全删除“托管”该对话框的div

票数 267
EN

Stack Overflow用户

发布于 2010-05-19 18:51:08

为什么要删除它?

如果是为了防止创建多个实例,那么只需使用以下方法...

代码语言:javascript
复制
$('#myDialog') 
    .dialog( 
    { 
        title: 'Error', 
        close: function(event, ui) 
        { 
            $(this).dialog('close');
        } 
    }); 

当错误发生时,你会这样做...

代码语言:javascript
复制
$('#myDialog').html("Ooops.");
$('#myDialog').dialog('open');
票数 11
EN

Stack Overflow用户

发布于 2013-10-23 21:18:01

代码语言:javascript
复制
$(dialogElement).empty();

$(dialogElement).remove();

这将真正修复它。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2864740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档