js点击空白处关闭弹窗几种方法

这里列举自己用过的2中写法,后期会持续更新

1 jQuery 写法

$(document).mouseup(function(e){
  var _con = $(' 目标区域 ');   // 设置目标区域
  if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
    some code...   // 功能代码
  }
});

/* Mark 1 的原理:
判断点击事件发生在区域外的条件是:

  1. 点击事件的对象不是目标区域本身
  2. 事件对象同时也不是目标区域的子元素

2 vue.js 写法

document.addEventListener('mouseup',(e) =>{
        var _con = document.getElementById('more-oprate')
        if(_con) {
          if(!_con.contains(e.target)) {
            this.isShowBtn = ''
          }
        }
      })

你可能感兴趣的:(js)