0

我使用 bPopUp 来显示一个运行良好的隐藏 div。This bPopup is triggered by a DDL when an item is selected. 现在,当用户在弹出窗口之外单击时,我想将我的 DDL 重置为值 0。

PS:我可以关闭我的弹出窗口,除非我在 html 页面上单击两次,否则我无法捕获该单击事件。

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

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

});
4

2 回答 2

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();
                                }
});

试试这个代码

于 2014-07-22T04:59:31.887 回答
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');
    }

});
于 2014-07-22T04:50:50.210 回答