如何实现点击div区域外隐藏div区域

1 遮罩层,有一个遮罩层,盖住其他地方,然后只有目标div可以点击,点击遮罩层就可以隐藏;

2.body上绑定事件,关闭,组件销毁前把事件移除。

<div id="badge" @click="handleClick($event)">设置备注及标签</div>
methods: {
    handleBodyClick(){
      // 关闭
     // dom为上面的目标·div区域
	  let dom = document.getElementById('badge')
	  if (dom) {
  		  if (!dom.contains(e.target)) {
    		  this.messageShow = false
  	  	}
 	 }
	}
},
mounted(){
    this.$nextTick(() => {
        document.querySelector('body').addEventListener('click', this.handleBodyClick);
    })
},
beforeDestroy(){
    document.querySelector('body').removeEventListener('click', this.handleBodyClick);
}

3.监听事件

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>js实现的点击div区域外隐藏div区域</title> 
<style type="text/css"> 
#myDiv{ 
    border:1px solid #000000; 
    width:200px; 
    height:100px; 
    background:#FF0000;
} 
</style> 
</head> 
<body> 
<div id="myDiv"></div>
</body>
<script type="text/javascript">
    console.log('1111111111')
      var myDiv = document.getElementById("myDiv");
      document.addEventListener("click",function(){
        console.log('5555')
          myDiv.style.display="none";
      });
      myDiv.addEventListener("click",function(badge){
        console.log('6666', badge)
          event=event||window.event;
          event.stopPropagation();
      });
  </script>
</html>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值