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