我写了一个小插件来获取元素并将其放入模态框中。选择元素后,它将附加到正文中,如下所示:
$('body').append(overlay, modal).show();
但是,我只是注意到,当单击或选择模态中的元素时,我似乎无法检测到任何动作。
我试过.on()和.live()无济于事。
$(document).ready(function() {
$('#myLink').click(function() {
$('#myEl').myModal();
});
$('#myLink').on('click', function() {
alert('clicked me!');
});
});
我错过了什么?
答案 0 :(得分:1)
尝试:
$(document).ready(function() {
$(document).on('click', '#myLink', function() {
alert('clicked me!');
});
});
理想情况下,您希望在DOM中使用比document
更接近元素的选择器,这是文档准备好时存在的选择器。根据{{3}}
事件处理程序仅绑定到当前选定的元素;他们 在您的代码调用.on()时页面上必须存在。 要确保元素存在且可以选择,请执行事件 绑定在文档就绪处理程序中的元素 页面上的HTML标记。如果将新HTML注入页面, 选择元素并在新HTML之后附加事件处理程序 放入页面。