Ich versuche, ein einfaches modales Popup zu machen, wenn ich auf einen Anmeldeknopf klicke. Das Modal öffnet sich gut, indem Sie display: none
zu display: block
ändern, aber ich kann es nicht schließen, indem Sie auf das <span>
-Tag klicken.<span> onclick Ereignis nicht feuernd
Das Klickereignis wird nicht auf <span>
ausgelöst, aber es wird ausgelöst, wenn außerhalb des Containers geklickt wird. Ich habe keine Idee warum. Was mache ich falsch?
Hier ist der HTML:
<a id="modalBtn" href="#0">Get started</a>
<div id="modalPopup" class="modal">
<div class="modal-content">
<span class="close">×</span>
<div>
<input id="email" type="email" placeholder="Email">
<input id="password" type="password" placeholder="Password">
<button id="quickstart-sign-in" href="#">Log in</button>
<button id ="quickstart-sign-up" href="#">Sign up</button>
</div>
</div>
</div>
Und die JS:
var modalPopup = document.getElementById('modalPopup');
var modalBtn = document.getElementById('modalBtn');
var close = document.getElementsByClassName('close');
// Opens modal on modalBtn click
modalBtn.onclick = function() {
modalPopup.style.display = "block";
}
// Closes the modal on 'X' click
close.onclick = function() {
modalPopup.style.display = "none";
console.log('wtf why is this not working')
}
// Closes the modal on outside window click
window.onclick = function(event) {
if (event.target == modalPopup) {
modalPopup.style.display = "none";
}
}
Hier ist eine Geige: https://jsfiddle.net/3n1mpaex/1/
Sorry, wenn dies zuvor gestellt wurde, ich ein bisschen herum gesucht und couldn Ich finde die Antwort, die ich brauche. Vielen Dank!