jQuery实现点击弹出框外界面关闭弹框

通过jQuery的closest方法实现点击弹框以外的部分关闭弹框。

closest() 方法返回被选元素的第一个祖先元素。具体用法:https://www.runoob.com/jquery/traversing-closest.html

$(document).ready(function() {
            $("body").click(function(e) {
                if ($(e.target).closest("#touch,#miss").length == 0) { //length等于0执行
                    $("#miss").hide();
                    $("#phone").css("filter", "brightness(100%)");
                }
            });
            $("#touch").click(function() { //弹出框

                $("#miss").fadeIn("slow");
                $("#phone").css("filter", "brightness(50%)");

            })
        })

点击id为touch的button时,closest("#touch,#miss),匹配到#touch本身,length为1,弹出弹框。弹出弹框后,点击弹框本身length为1,点击弹框外均为0,达到关闭效果

相关推荐