首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery UI对话框-关闭后不打开

jQuery UI对话框-关闭后不打开
EN

Stack Overflow用户
提问于 2008-12-14 19:09:22
回答 12查看 225.3K关注 0票数 79

我对jquery-ui dialog box有点问题。

问题是,当我关闭对话框,然后单击触发它的链接时,它不会再次弹出,除非我刷新页面。

如何在不刷新实际页面的情况下回调对话框。

下面是我的代码:

代码语言:javascript
复制
$(document).ready(function() {
    $('#showTerms').click(function()
    {
        $('#terms').css('display','inline');
        $('#terms').dialog({
            resizable: false,
            modal: true,
            width: 400,
            height: 450,
            overlay: { backgroundColor: "#000", opacity: 0.5 },
            buttons:{ "Close": function() { $(this).dialog("close"); } },
            close: function(ev, ui) { $(this).remove(); },
    }); 
});

谢谢

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2008-12-14 19:42:19

我解决了。

我使用销毁而不是关闭函数(它没有任何意义),但它工作。

代码语言:javascript
复制
$(document).ready(function() {
$('#showTerms').click(function()
{
    $('#terms').css('display','inline');
    $('#terms').dialog({resizable: false,
        modal: true,
        width: 400,
        height: 450,
        overlay: { backgroundColor: "#000", opacity: 0.5 },
        buttons:{ "Close": function() { $(this).dialog('**destroy**'); } },
        close: function(ev, ui) { $(this).close(); },
    });         
});   
$('#form1 input#calendarTEST').datepicker({ dateFormat: 'MM d, yy' });
});
票数 14
EN

Stack Overflow用户

发布于 2009-04-13 22:43:17

实际上,您应该使用$("#terms").dialog({ autoOpen: false });来初始化它。然后,您可以使用$('#terms').dialog('open');打开对话框,使用$('#terms').dialog('close');关闭它。

票数 110
EN

Stack Overflow用户

发布于 2008-12-14 19:37:12

在最后一行,不要使用$(this).remove(),而要使用$(this).hide()

编辑:为了澄清,在close click事件中,您将从DOM中删除#terms div,这就是它不会返回的原因。你只需要把它隐藏起来。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/366854

复制
相关文章

相似问题

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