jquery在锚点上点击事件
这是我的html片段:
我想设置一个点击处理程序来响应用户点击锚标签。 这是测试代码:
$("#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
与您的事件相关联以定位特定锚点。 所以代码如下。
以下将点击与特定锚点相关联。
$("#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; }); });