jquery-ui - 如何在关闭时完全删除对话框

标签 jquery-ui jquery-ui-dialog

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

$('<div>We failed</div>')
    .dialog(
    {
        title: 'Error',
        close: function(event, ui)
        {
            $(this).destroy().remove();
        }
    });

当我运行此对话框时,对话框会正确显示,但当我关闭它时,对话框在 html 中仍然可见(使用 FireBug)。我在这里缺少什么?我忘记了什么?

更新:刚刚注意到我的代码在 Firebug 控制台中出现错误。

$(this).destroy is not a function

有谁能帮帮我吗?

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

最佳答案

$(this).dialog('destroy').remove()

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

关于jquery-ui - 如何在关闭时完全删除对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2864740/

相关文章:

jquery - 回发后 CSS 样式未重新应用于 jQuery 对话框

javascript - 如果标题包含右对齐文本,jQuery UI 对话框将隐藏关闭 (X) 按钮。我怎样才能解决这个问题?

javascript - 我可以强制对话框只能在窗口内拖动吗?

javascript - 如何将 Accordion 高度设置为固定值?

javascript - JQuery 用户界面 : How to remove Icon from specific Accordion group?

css - 禁用 JQuery UI 对话框的 JS 定位

javascript - 对话框中的多重效果显示/隐藏

jquery datetimepicker 给出 404 not found (.png files) 错误

javascript - 防止链接看起来像按钮

jquery 对话框刷新页面