javascript - 单击任意位置关闭 javascript 弹出窗口

标签 javascript jquery wordpress

我是 super 新手,需要快速的建议。我在我的 wordpress 网站上安装了一个基于 javascript 的弹出插件,当有人访问该网站时,女巫会自动打开。要关闭弹出窗口,用户必须单击弹出窗口一 Angular 的十字 X。

我需要编辑插件以便用户可以点击任何地方,插件将关闭。

这是我找到的 javascript 代码。有什么建议吗?

function open_lightbox(){
    //var closebut = (typeof(ujiPopups) !== 'undefined' && ujiPopups != null && ujiPopups.showclose && ujiPopups.showclose == "true") ? true : false;
    jQuery("#popup").modal({
        onOpen: function (dialog) {
            dialog.overlay.fadeIn('fast');
            dialog.data.hide();
            dialog.container.show('fast', function () {
                dialog.data.fadeIn('slow');  
            }); 
        },
        autoResize: false,
        autoPosition: true,
        escClose: false,
        zIndex: 999999,
        overlayClose: false
    });     
}

function popups_close(){
    jQuery.modal.close();
    jQuery("#popup").remove();
}   

最佳答案

应该这样做:

$(document).click(function() { 
    if($('#popup').is(':visible')) {
        popups_close();
    }
});

如果您希望在与弹出窗口本身交互时保持模式处于事件状态:

$(document).click(function(e) {
    if (!$(e.target).is("#popup")) {
        if ($('#popup').is(':visible')) {
            popups_close();
        }
    }
});

这里有一个简单的例子:http://jsfiddle.net/wnT4G/

*查看@ComFreek 的一些优雅修订的评论

关于javascript - 单击任意位置关闭 javascript 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19728066/

相关文章:

asp.net - wordpress 和 asp.net 在一起

php - 在 javascript/HTML5 应用程序之外获取变量

javascript - 为什么我的代码中的 event.target 无法在 Firefox 中运行?

javascript - 如何给回调函数添加参数?

javascript - 如何获取数组中所有出现的相同值的索引?

jQuery iframe 多次加载

javascript - Wordpress 在不刷新页面的情况下获取图像类别

php - WordPress:自定义帖子类型和自定义字段的高级搜索

javascript - rails : couldn't find file 'typeahead.js' . 。直到我删除 'data-turbolinks'

javascript - 编辑元素属性不起作用