我正在使用jQueryUI来创建一个对话框,我希望删除对象对象时将其销毁。
所以我做了这样的事情:
thisDialog.dialog({
autoOpen: true,
close: function(event, ui) {
thisDialog.dialog("destroy");
}
});
我想要做的是保持thisDialog附加到的元素的存在,但只是破坏附加到它的jQueryUI .dialog()
对象,不更改我的DOM。
样品: http://jsfiddle.net/ytWPV/1/
更新
这可能是jQueryUI的错误/问题?如果有人能证明这一点,我也会接受这个答案
答案 0 :(得分:1)
我不确定你想用“破坏”和“关闭”来完成什么,但我会假设你有充分的理由。
如果你可以成功关闭你的对话框(基本上将代表你的对话框的整个DIV设置为CSS等效于display:none)但是想要更进一步并且从DOM中永久删除html,我会添加一些逻辑使用选择器(任何选择器就足够了)的close函数找到对话框的最顶层DIV,然后手动将该DIV的.html()设置为空字符串。这基本上会消除内部HTML,只留下曾经充当对话框的原始文件......
答案 1 :(得分:0)
如果元素没有改变,你也可以尝试克隆元素,如:
$("#win2").clone().attr("id","random").dialog({
autoOpen: true,
height: 60,
width: 50,
modal: true,
close: function(event, ui) {
alert($(".hide").html())
this.dialog("destroy");
}
});
......原始代码来自你的例子。