Jquery捕获弹出窗口外的单击事件

时间:2014-07-22 04:46:14

标签: jquery bpopup

我正在使用bPopUp来显示一个运行良好的隐藏div。选择项目时,此bPopup由DDL触发。现在,当用户在popUp外部单击时,我想将我的DDL重置为值0。

PS:我能够关闭我的popUp,除非我在html页面上点击两次我无法捕获该点击事件。

$("html").click(function () {

    if ($('#bPopup').is(":visible")) {
        $('#ddl').val('0');
    }

});

2 个答案:

答案 0 :(得分:2)

 $(document).mouseup(function (e) {
    var container = $(your container selector);
    if (!container.is(e.target) // if the target of the click isn't the container...
    &&
    container.has(e.target).length === 0) // ... nor a descendant of the container
                                {
                                    container.hide();
                                }
});

试试这段代码

答案 1 :(得分:0)

您可以使用event.target标识点击的元素,请参阅以下代码:

$("html").click(function (e) {

    // check if id of clicked element is not bPopup
    if(e.target.id!="bPopup")
    {
        $('#ddl').val('0');
     }
    if ($('#bPopup').is(":visible")) {
        $('#ddl').val('0');
    }

});