2017-12-20 4 views
0

divを表示できるかどうかを確認します。表示されているときは、そのdivにないどこかをクリックすると、表示をnoneに渡したいと思います。だから、私がやったことです:stopPropagation特定のdivをクリックしたとき

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

しかし、私はdiv要素をクリックした場合でも、あなたはwindow.addEventListener('click', outDiv);

と、この関数を作る場合は、表示はなし

答えて

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

に行くと:

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

 
function outDiv (event) { 
 

 
if (!myDiv.classList.contain(event.target)) { 
 
    
 
    // Make Something 
 
    
 
} 
 
}

+1

なぜDOMノードがCSSクラスのリストの要素ですか? O.o – Andreas

関連する問題