jquery-ui中的.dialog("close")
和.dialog("destroy")
有什么不同?
我有一个脚本,之前的开发人员在其中使用了.dialog("destroy")
,但现在对话框关闭后,我必须执行一些操作。我发现了使用.dialog("close")
而不是.dialog("destroy")
调用的beforeclose
。因此,我必须将方法从destroy
更改为close
才能使其工作。
那么,如果我使用.dialog("close")
而不是.dialog("destroy")
,我会错过什么吗?
PS:对话框使用自定义按钮来关闭自身,并且在按钮的单击事件上调用.dialog("close")
发布于 2014-08-12 17:29:59
请记住,如果您使用的是表单输入对话框,那么销毁它并不会删除您的输入,所以如果您使用: input伪选择器进行验证,那么您“销毁”的元素也会被验证。这就是.remove()派上用场的地方。
您可以添加一个自定义的close事件,该事件将销毁您的对话框并移除其中的任何窗体,以阻止对其进行进一步验证。
$dialog = $("#your_dialog_id");
$dialog.dialog('option', {
title: "title",
close: function (event, ui) {
$dialog.find("form").remove();
$dialog.dialog('destroy');
}
});
https://stackoverflow.com/questions/18055724
复制相似问题