这里列举自己用过的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 的原理:
判断点击事件发生在区域外的条件是:
- 点击事件的对象不是目标区域本身
- 事件对象同时也不是目标区域的子元素
2 vue.js 写法
document.addEventListener('mouseup',(e) =>{
var _con = document.getElementById('more-oprate')
if(_con) {
if(!_con.contains(e.target)) {
this.isShowBtn = ''
}
}
})