首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.dialog(“关闭”)和.dialog(“销毁”)的区别

.dialog(“关闭”)和.dialog(“销毁”)的区别
EN

Stack Overflow用户
提问于 2013-08-05 18:17:49
回答 1查看 36.6K关注 0票数 20

jquery-ui中的.dialog("close").dialog("destroy")有什么不同?

我有一个脚本,之前的开发人员在其中使用了.dialog("destroy"),但现在对话框关闭后,我必须执行一些操作。我发现了使用.dialog("close")而不是.dialog("destroy")调用的beforeclose。因此,我必须将方法从destroy更改为close才能使其工作。

那么,如果我使用.dialog("close")而不是.dialog("destroy"),我会错过什么吗?

PS:对话框使用自定义按钮来关闭自身,并且在按钮的单击事件上调用.dialog("close")

EN

回答 1

Stack Overflow用户

发布于 2014-08-12 17:29:59

请记住,如果您使用的是表单输入对话框,那么销毁它并不会删除您的输入,所以如果您使用: input伪选择器进行验证,那么您“销毁”的元素也会被验证。这就是.remove()派上用场的地方。

您可以添加一个自定义的close事件,该事件将销毁您的对话框并移除其中的任何窗体,以阻止对其进行进一步验证。

代码语言:javascript
复制
$dialog = $("#your_dialog_id");
$dialog.dialog('option', {
    title: "title",
    close: function (event, ui) {
        $dialog.find("form").remove();
        $dialog.dialog('destroy');
    }
});
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18055724

复制
相关文章

相似问题

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