监听全局点击事件

7,810 阅读1分钟

点击指定区域以外的地方触发关闭

方法一: document.addEventListener方法监听全局, 然后判断是否点击了指定区域

document.addEventListener('click',e => {
   if(!this.$refs.xxx.contains(e.target)){
    this.show= false//点击其他区域关闭
   }else{
    this.show= true
   }
})

方法二: 在最外层绑定一个事件, 指定区域绑定 @click.stop 防止冒泡

<>div @click="click1">
    外层
    <div @click.stop="click2">
        指定区域
    </div>
</div>

click1(){
    this.show=false;
},
click2(){
    this.show=true;
}