简单的.click函数没有被调用?

时间:2014-03-11 12:15:47

标签: jquery hyperlink click

我有一个事件后生成的表。它包含<td>中的这类链接:

<a class="link-capacity" href="#" id="1234">Capacity</a>

我想在这些链接上使用JQuery捕获click事件,所以我写了这个函数:

$(".link-capacity").click(function () {
    console.log("OK");
});

在表生成之前加载此函数。

当我点击我的链接时,从不调用该函数。我错过了什么吗?我可以在加载JQuery函数后创建类吗?

3 个答案:

答案 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");
 });