我有一个显示表单的对话框。当他们保存或关闭对话框时,我调用了jquery对话框destroy方法。
但是我不清楚它是否删除了html div。从描述中我不会这么认为
删除对话框功能 完全。这将返回 元素回到pre-init状态。
然而,当用firebug查看时,我看不到html容器,所以我不确定它是否被删除或是什么。我不确定是不是因为我在运行中为对话框创建div并使用jquery将其添加到页面中。
答案 0 :(得分:4)
它不会破坏HTML,you can see a demo here。但是默认情况下隐藏容器(在那里留下display: none
),所以你需要.show()
在页面中再次看到它,如果这就是你的意思后。这是简单的演示测试代码:
<button>Create Dialog</button>
<div id="dialog">Test Content</div>
和jQuery:
$("button").click(function() {
$("#dialog").dialog({
buttons: { 'Destroy Me': function() { $(this).dialog('destroy').show(); } }
});
});
运行此功能,您可以将元素切换为对话框,然后再返回。
但是,如果您想在创建对话框时确保对话框被销毁,只需提前销毁任何可能的副本。例如:
// destroy any previous dialog of same that may exist
$(".ui-dialog").filter(function(i) { return $(this).children("#dialog").exist(); }).remove();
$("#dialog").dialog({
/* dialog options */
});