【发布时间】:2017-08-24 15:32:42
【问题描述】:
我需要为 html 页面创建一个模式。单击页面上的按钮时,会显示模态框。关闭模态的按钮包含在模态本身中。
问题是关闭按钮上的单击事件,这意味着从文档中删除模式 html,不起作用。但是,分配给同一事件的console.log 会显示在控制台中。为什么会发生这种情况以及如何解决?
笔:https://codepen.io/t411tocreate/pen/prZRYN
js代码:
$(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>'
})
【问题讨论】:
-
OP 已经在使用委托事件处理程序,这不是问题
标签: javascript jquery event-handling event-delegation