我遇到的情况是我在数据库中创建动态内容。我正在其中创建包含内容的nickname
。我添加了<div>
事件onclick
。如果用户点击div的内容,这意味着<div>
,它会打开一个弹出窗口。但是如果内容中有锚标记。那时如果用户点击了锚标记,那么事件执行它也会打开链接页面并弹出。
我希望在点击锚标记时阻止div <div>
。
这有什么可以帮助我吗?
答案 0 :(得分:2)
如果您使用jQuery,请尝试 stopPropagation()这样的功能:
简单的例子:
$("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>
JS:
$("div#content a.noPropagation").click(function(e) {
e.stopPropagation();
// your code here...
});
答案 1 :(得分:1)
由于您是动态添加<div>
,因此可以将click事件处理程序绑定到动态内容的最近祖先。这是一种方法:
$('.some-container').on('click', 'div.dynamic-content a', function(event) {
event.stopPropagation();
});
答案 2 :(得分:0)
以下是https://jsfiddle.net/7c51j7av/
的示例<div class="outer">
<div class="inner">
click me
</div>
</div>
$(".outer").click(function(){
alert("Here");
});
$(".inner").click(function(e){
e.stopPropagation();
alert("Stopped it");
});