jquery在锚点上点击事件

dje*_*tee 13 jquery events click href

这是我的html片段:

<div id="tag-cloud-widget">  
    <div class="content">  
        <a href="#" rel="1" class="cloud-element" data-tag-id="10" style="font-size: 12px; color: rgb(205, 236, 222); ">T1</a>  
        <a href="#" rel="1" class="cloud-element" data-tag-id="1" style="font-size: 12px; color: rgb(205, 236, 222); ">T2</a>  
        <a href="#" rel="1" class="cloud-element" data-tag-id="3" style="font-size: 12px; color: rgb(205, 236, 222); ">T3</a>  
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

然而,

$("#tag-cloud-widget .content").click(function(e) { ... });  
Run Code Online (Sandbox Code Playgroud)

$("#tag-cloud-widget").click(function(e) { ... });  
Run Code Online (Sandbox Code Playgroud)

被解雇了!

我没看到什么?

rsp*_*lak 14

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

  • 我实际上尝试过使用和不使用e.preventDefault(); 我发现了问题所在.愚蠢的东西!好的,锚点是从模板DOM元素动态创建的.我克隆并更新模板元素的属性并将其附加到标签云内容.我忘了使用'true'标志调用.clone()来复制所有相关的事件处理程序.一旦我将代码更改为.clone(true),所有工作就像一个魅力:)谢谢你和其他响应如此迅速的人.干杯! (2认同)