单击某个div时stopPropagation

问题描述 投票:0回答:2

我有一个可以显示或不显示的div。当它显示时我想将显示传递给none,如果你点击那个不在那个div中的地方。所以我做的是:

document.addEventListener('click',closeDiv)
document.getElementById('myDiv').addEventListener('click',stopPropagation)
function closeDiv(){
    let div = document.getElementById('myDiv')
    div.style.display='none'
}

但即使我点击div,显示也没有

javascript
2个回答
0
投票

找到解决方案:

 document.addEventListener('click',closeModal)
document.getElementById('myDiv').addEventListener('click',stopPropagation)
function stopPropagation(e){
    e.stopPropagation();
}
function closeDiv(){
    let div = document.getElementById('myDiv')
    div.style.display='none'
}

-1
投票

如果你做一个window.addEventListener('click', outDiv);

而这个功能:

let myDiv = document.querySelector('myDiv');

function outDiv (event) {

 if (!myDiv.classList.contain(event.target)) {
  
    // Make Something
  
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.