【问题标题】:Close a jQuery UI Dialog from an element inside of it?从其中的元素关闭 jQuery UI 对话框?
【发布时间】:2011-01-13 07:44:51
【问题描述】:

这是一个简单的问题,可能比我想象的要简单。

我正在使用 $.ajax() 调用生成的 html 填充 jQuery UI 对话框。在某些情况下,html 包含一个按钮,当单击该按钮时,我想关闭包含对话框。

假设我对使用$("#element").dialog() 指定为对话框的元素一无所知...(即我不知道对话框内部内容中的“#element”选择器是什么) - 什么从在其中单击的元素关闭对话框的最佳方法是什么?

【问题讨论】:

    标签: javascript jquery ajax jquery-ui-dialog


    【解决方案1】:

    使用closest()

    $(this).closest('.ui-dialog-content').dialog('close');
    

    【讨论】:

    • 有趣...实际上看起来 .ui-dialog 并不是正确的选择器。对话框弹出了几个 div,似乎真正需要调用它的对话框('close')不是“.ui-dialog”......仍在调查......
    • 看起来像 .closest('.ui-dialog-content').dialog('close');是需要的。
    • @Womp,是的,.ui-dialog 元素是 jQuery 在原始内容周围放置以将其变成对话框的包装元素。
    【解决方案2】:

    类似:

    $('a.close').click(function(e) {
        $(this).closest('.dialog').dialog('close');
    });
    

    【讨论】:

    • 如果元素是嵌套的怎么办?
    • 你写的时候我正在修复我的样本
    猜你喜欢
    • 2011-05-22
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2011-11-28
    • 2013-12-17
    • 1970-01-01
    相关资源
    最近更新 更多