Javascript 如果单击了子锚点标记,如何取消父元素单击事件的活动?

Javascript 如果单击了子锚点标记,如何取消父元素单击事件的活动?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在这种情况下,我从数据库中创建动态内容。在其中,我正在创建包含内容的。我添加了onclick事件,该事件将。如果用户单击div的内容,这意味着打开了一个弹出窗口。但是如果内容中有锚定标记。此时,如果用户单击锚定标记,则会执行事件并打开链接页面和弹出窗口 我希望在单击锚定标记时防止divonclick 有什么可以帮我的吗 如果使用jQuery,请尝试以下函数: 简单的例子: $("div a").click(function(e) { e.stopPropagation(); //

在这种情况下,我从数据库中创建动态内容。在其中,我正在创建包含内容的
。我添加了
onclick
事件,该事件将
。如果用户单击div的内容,这意味着打开了一个弹出窗口。但是如果内容中有锚定标记。此时,如果用户单击锚定标记,则会执行事件并打开链接页面和弹出窗口

我希望在单击锚定标记时防止div
onclick


有什么可以帮我的吗

如果使用jQuery,请尝试以下函数:

简单的例子:

$("div a").click(function(e) {
    e.stopPropagation();
    // your code here...
});

或具有类和ID的增强示例:

html:

<div id="content">
    ...
    <a href="/your/uri/here" class="noPropagation">my link</a>
    ...
</div>


以下是文档:

因为您要动态添加
,所以可以将单击事件处理程序绑定到最接近动态内容的祖先。这里有一种方法:

$('.some-container').on('click', 'div.dynamic-content a', function(event) {
    event.stopPropagation();
});
这里有一个例子


点击我
$(“.outer”)。单击(函数(){
警报(“此处”);
});
$(“.inner”)。单击(函数(e){
e、 停止传播();
警惕(“停止”);
});

因为您在服务器端生成内容,或者至少听起来是这样。您最好的选择可能是添加onclick处理程序作为属性
onclick=“return false;”“
$('.some-container').on('click', 'div.dynamic-content a', function(event) {
    event.stopPropagation();
});
<div class="outer">
    <div class="inner">
    click me
    </div>
 </div>  



$(".outer").click(function(){
        alert("Here");
    });

    $(".inner").click(function(e){
        e.stopPropagation();
        alert("Stopped it");
    });