jquery在锚点上点击事件

这是我的html片段:

T1 T2 T3

我想设置一个点击处理程序来响应用户点击锚标签。 这是测试代码:

 $("#tag-cloud-widget .content a").click(function(e) { alert('clicked'); return false; }); 

上面的点击处理程序不会被触发,也不会:

 $("#tag-cloud-widget .content .cloud-element").click(function(e) { alert('clicked'); return false; }); 

然而,

 $("#tag-cloud-widget .content").click(function(e) { ... }); 

 $("#tag-cloud-widget").click(function(e) { ... }); 

被解雇了!

我没看到什么?

处理锚点击事件时,请始终使用e.preventDefault(); 当你不需要锚时。 像魅力一样火

!这是经过测试和运作的。

您忘记将代码放在文档就绪函数中

 $(function(){
 //你的代码
 });

你的第一个代码不起作用的原因是你的div content标签中有多个锚点,因此当你将该标签中的锚点与一个点击相关联时,它会在选择精确锚点时产生歧义。 您可以使用其id属性来定位特定锚点,并将id与您的事件相关联以定位特定锚点。 所以代码如下。

 
T1 T2 T3

以下将点击与特定锚点相关联。

 $("#tag-cloud-widget .content #anca").click(function(e) { alert('Anchor A clicked'); return false; }); $("#tag-cloud-widget .content #ancb").click(function(e) { alert('Anchor B clicked'); return false; }); $("#tag-cloud-widget .content #ancc").click(function(e) { alert('Anchor C clicked'); return false; }); 

document.ready编写代码并使用e.preventDefault

写如下:

 $(document).ready(function(){ $("#tag-cloud-widget .content a").click(function(e) { e.preventDefault(); alert('Clicked'); return false; }); });