jquery点击空白处关闭弹窗

需求是点击空白处关闭弹窗,同时弹窗内有点击事件

一开始的思路是点击弹窗阻止事件冒泡

不知道是结构太复杂还是怎样,使用event.stopPropagation();无效

找到了有效的方法后,把内部的点击事件也阻拦掉了

只能在点击空白处时,判断是否是弹窗范围,看到了一段很好用的代码

$(document).mouseup(function(e){
var_con=$('目标区域');//设置目标区域
if(!_con.is(e.target)&&_con.has(e.target).length===0){//Mark1
somecode...//功能代码
}
});
/*Mark1的原理:
判断点击事件发生在区域外的条件是:
1.点击事件的对象不是目标区域本身
2.事件对象同时也不是目标区域的子元素
*/
这是当初在stackoverflow上看到的,非常简单的实现,这里的目标区域就是你的弹出窗口

  

原文地址:https://www.cnblogs.com/Anne3/p/11677891.html