簡體   English   中英

單擊以顯示div,再次單擊以隱藏,或在div外部單擊以隱藏

[英]click to show div, click again to hide, or click outside the div to hide

我設法制作了一個腳本,當我單擊鏈接時可以顯示和隱藏div,但是當我在div之外單擊時,我也希望它隱藏div。

<script>
function toggle() {

var ele = document.getElementById("dropdown");

var text = document.getElementById("trigger");

if(ele.style.display == "block") {

        ele.style.display = "none";

    text.innerHTML = "Kontakta oss";

}

 else {

    ele.style.display = "block";

    text.innerHTML = "Kontakta oss";

}

 } 
    </script>

您需要聆聽對文檔的單擊。

var ele = document.getElementById("dropdown");

document.addEventListener("click", function(event){ 
  var childClicked = [].slice.call(ele.getElementsByTagName('*')).some(function(node) {
    return node === event.target;
  });
  if(event.target !== ele && !childClicked){
      ele.style.display = "none";
  } 
});

我在這里使用文檔,但是您可以使用document.querySelector選擇適合您需要的任何內容。

編輯:評論后

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM