我有一個主要的div和子div也被稱爲形式,因爲表單被包裹在div內。我想要的是在主div之外單擊時關閉窗體,但完全沒有發生。請幫我解決這個問題。Event.target無法正常工作,當單擊關閉它的外部
var btn = document.getElementById('opener');
var box = document.getElementById('abc');
var form = document.getElementById('def');
btn.onclick = function(){
\t box.style.display = "block";
}
//Doesn't work. It's function is to close the form when click outside of the div.
window.onclick = function(event){
\t if(event.target == box){
\t form.style.display = "none";
}
}
#abc{
display: none;
background-color: #F44336;
}
\t <button id = "opener">
Open
</button>
<div id = "abc">
\t \t <!-- Login Authentication -->
\t \t <div id = "def">
\t \t \t <div>
\t \t \t \t <p>Welcome</p>
\t \t \t </div>
\t \t \t <br />
\t \t \t <div class = "login-auth" id = "cool">
\t \t \t \t \t <form method="POST">
\t \t <label>Email or Username:</label>
\t \t <input type = "text">
\t \t <br />
\t \t <label>Password:</label>
\t \t <input type = "password">
\t \t <br /><br />
\t \t <input type="submit" value="Login">
\t </form>
\t \t \t </div>
\t \t </div>
\t </div>
的jsfiddle鏈接在這裏:https://jsfiddle.net/twrvpp3d/
如果你簡單地把'的console.log(event.target);'單擊處理程序,你會看到這個問題。 – Barmar
看看 - > https://jsfiddle.net/twrvpp3d/9/ – UncaughtTypeError
感謝@UncaughtTypeError的答案。但問題已經解決了,雖然:d – Sanjay