隐藏弹窗的情况(办法很笨拙)

情况一:遮罩层包含了全部内容(点击事件源,以及用来排除的位置)

html:

 

js:

$(".mark").on("click", function(e) { //点击灰色区域关闭模态
        
    if(e.target == $(".mark")[0]) {
        $(".mark").hide();//需要关闭的弹窗
    }
    e.stopPropagation();
});

情况 二:遮罩层与事件源不在同一容器内

html:

js:

$(document).on("click", function(e) { 
  //齿轮及选项外关闭操作面板
    if(e.target != $(".btn")[0] && e.target != $(".item")[0]) {
  //若点击以上2处以外的地方,则关闭弹窗
    $(".panel").hide();//弹窗容器
    }
    e.stopPropagation();
});

 目前也只会这样程度的,办法很死,若有人有灵活的办法,欢迎赐教。

猜你喜欢

转载自www.cnblogs.com/JaneBlog/p/9549998.html