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

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

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

 

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

 

posted @ 2018-08-28 18:12  前端开发小姐姐  阅读(285)  评论(0编辑  收藏  举报