如何實現點擊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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章