【发布时间】:2017-06-10 20:12:37
【问题描述】:
我无法弄清楚为什么我的点击事件没有触发。我正在尝试单击垃圾桶图标并运行一个删除列表元素的函数。在单击事件之后,它无法执行脚本中的任何其他内容。它甚至没有直接在下面 console.log 任何东西。下面是标记和我的脚本。
HTML 代码
<div class="col-6">
<div class="js-list-item">
<h3 class="js-list-title"></h3>
<a href="" id="js-edit"><i class="fa fa-pencil" aria-hidden="true"></i></a>
<a href=""id="js-delete"><i class="fa fa-trash-o" aria-hidden="true"></i></a>
<p>Date: <span class="js-date"></span></p>
<p>Schedule: <span class="js-schedule"></span> at <span class="js-schedule-time">
</span></p>
</div>
</div>
javascript 代码
function handleDelete() {
$('.js-list-item').on('click', 'fa-trash-o', function(e) {
console.log('test');
e.preventDefault();
deleteShow(
$(e.currentTarget).closest('.js-list-item').attr('id')
);
});
}
【问题讨论】:
-
你加载了 JQuery 吗?
-
在浏览器中检查控制台日志
-
deleteShow()函数在哪里? -
你的函数handleDelete什么时候被调用?您需要先执行该函数以绑定侦听器
-
handleDelete 在文件的底部被调用,就像这样。 $(function() { handleDelete();});
标签: javascript jquery event-delegation