即使单击“返回顶部”按钮,弹出也会关闭

时间:2015-10-30 13:44:01

标签: javascript jquery popup

当我点击一个div时,弹出窗口打开,当我点击弹出窗口外的任何地方时它会关闭。因为这个功能,即使我点击'返回顶部按钮'弹出关闭,我不想要。我希望弹出窗口在外部点击时关闭,但点击几个元素我希望弹出窗口保持打开状态。

我的JS供参考:

$(document).click(function (e) {
    if (!$(e.target).is('#myPanel, #myPanel*')) {
        $("#myPanel").hide();
        $(".span10").width(600);
    }
});

1 个答案:

答案 0 :(得分:1)

你是正确的方式。但是,您需要在逗号分隔选择器中包含不应关闭弹出窗口的所有元素。此外,对于那些具有子元素的人,您需要包含ID后跟一个星号,但用空格分隔。空间是代码中缺少的空间。它应该是#myPanel *而不是#myPanel

$(document).click(function (e) {
    //Do not close popup for these:
    // - Element with ID myPanel                      #myPanel
    // - Any descendants of element with ID myPanel   #myPanel *
    // - Element with ID backtotop                    #backtotop
    if (!$(e.target).is("#myPanel, #myPanel *, #backtotop")) {
        $("#myPanel").hide();
        $(".span10").width(600);
    }
});

JSFiddle