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

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

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

 1 $(document).ready(function() {
 2             $("body").click(function(e) {
 3                 if ($(e.target).closest("#touch,#miss").length == 0) { //length等于0执行
 4                     $("#miss").hide();
 5                     $("#phone").css("filter", "brightness(100%)");
 6                 }
 7             });
 8             $("#touch").click(function() { //弹出框
 9 
10                 $("#miss").fadeIn("slow");
11                 $("#phone").css("filter", "brightness(50%)");
12 
13             })
14         })

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

猜你喜欢

转载自www.cnblogs.com/myquark/p/12355125.html