jquery绑定多个锚点

我想将相同的事件绑定到锚链接列表。 为什么这不起作用?

标记:

 Aggiungi contatto  

jQuery的:

 $('#contactAdd').menu({ content: $('#contactRoles').html(), width: 150, showSpeed: 300 }); $("a.contactRole").click(function(event){ event.preventDefault(); alert("Link " + $(this).attr("href") + " clicked"); }); 

我哪里错了?

编辑 :@everybody:是的,脚本由$(文件).ready(…)包装

有关更多信息,请考虑隐藏类“隐藏”的div,只能通过点击另一个锚点来查看,如此截图所示。 替代文字

编辑:根据你的评论,你已经用ready()函数包装。

另一种可能性是在页面加载后将 a.contactRole元素添加到DOM。

如果是这种情况,试试这个:

 $(function() { $("a.contactRole").live('click', function(event){ event.preventDefault(); alert("Link " + $(this).attr("href") + " clicked"); }); }); 

原始答案:

应该管用。 在分配点击处理程序之前,您是否确定已加载文档?

如果在尝试分配处理程序时未加载元素,则它将不起作用。

示例: http //jsfiddle.net/kjSG8/

  // Wrap your code with $(function() {...}) to make sure it doesn't // run until the DOM is fully loaded $(function() { $("a.contactRole").click(function(event){ event.preventDefault(); alert("Link " + $(this).attr("href") + " clicked"); }); }); 

它似乎是一个标准事件,你在$(document).ready(function() { });声明它吗$(document).ready(function() { }); 块?

确保在DOM准备就绪时创建单击。 你也可以说$(".contactRole").click而不是$("a.contactRole").click