我有一个事件后生成的表。它包含<td>
中的这类链接:
<a class="link-capacity" href="#" id="1234">Capacity</a>
我想在这些链接上使用JQuery捕获click事件,所以我写了这个函数:
$(".link-capacity").click(function () {
console.log("OK");
});
在表生成之前加载此函数。
当我点击我的链接时,从不调用该函数。我错过了什么吗?我可以在加载JQuery函数后创建类吗?
答案 0 :(得分:7)
你应该使用delegate
$(document).on("click",".link-capacity",function(){
//some operation
});
它可以帮助您为未来元素附加处理程序
答案 1 :(得分:3)
您需要使用on()进行事件委派,以便在执行事件绑定代码时将事件绑定到DOM中不存在的元素。
$(document).on("click", ".link-capacity", function () {
console.log("OK");
});
委派事件的优势在于它们可以处理来自的事件 稍后添加到文档中的后代元素。通过 选择一个保证在当时存在的元素 委托事件处理程序附加,您可以使用委托事件 避免频繁附加和删除事件处理程序jQuery doc。
答案 2 :(得分:1)
$(document).on("click", ".link-capacity", function (e) {
e.preventDefault();// is used to prevent the default behavior of the link
console.log("OK");
});