Ich muss ein modales für HTML-Seite erstellen. Wenn eine Schaltfläche auf der Seite angeklickt wird, erscheinen die Modale. Schaltfläche zum Schließen modal enthält im Modal selbst.jquery hören klicken Ereignis auf dynamisch erstellten Element
Das Problem ist, dass Click-Ereignis auf Schließen-Schaltfläche, die ein modales HTML aus dem Dokument entfernen, nicht funktioniert. console.log
, die demselben Ereignis zugewiesen sind, wird jedoch in der Konsole angezeigt. Warum passiert das und wie kann man es reparieren?
Pen: https://codepen.io/t411tocreate/pen/prZRYN
Js Code:
$(document).ready(function(){
$('#showModal').on('click', function() {
$('.container').append(modalHtml)
})
$(document).on('click','#closeModal',function(){
console.log('click triggered')
$(document).remove('#modal')
})
var modalHtml = '<div id="modal"> <div class="modal-bg"></div><div class="modal-content"> <p>this is a modal</p><span id="closeModal">close</span> </div></div>'
})
Das OP verwendet bereits eine delegierte Event-Handler, das ist nicht das Problem –