Jquery 获取子元素的事件而不触发父元素的相同事件
我有父节点和子节点。它们都有“单击”事件列表器。自和代码:Jquery 获取子元素的事件而不触发父元素的相同事件,jquery,html,Jquery,Html,我有父节点和子节点。它们都有“单击”事件列表器。自和代码: HTML JS: 如果不希望将事件传播到容器,请使用: (如果您不想触发链接的默认行为,请将e.stopPropagation();替换为return false;)您确定发布了正确的小提琴吗?您缺少ID选择器的符号。@Sergio,对不起,小提琴错了。我换了。@未定义,谢谢!我已经纠正了它,现在它可以正常工作了!:)我有点搞砸了大家在评论中指出的东西,所以现在它就像我预期的那样工作。但你的回答也很有价值,因为我想这可能是我下一个问题的
HTML JS:
如果不希望将事件传播到容器,请使用:
(如果您不想触发链接的默认行为,请将
e.stopPropagation();
替换为return false;
)您确定发布了正确的小提琴吗?您缺少ID选择器的
符号。@Sergio,对不起,小提琴错了。我换了。@未定义,谢谢!我已经纠正了它,现在它可以正常工作了!:)我有点搞砸了大家在评论中指出的东西,所以现在它就像我预期的那样工作。但你的回答也很有价值,因为我想这可能是我下一个问题的答案:)为什么“#link”元素的事件首先被触发?是因为它在z索引中较高吗?不是,是因为它在DOM树的下游:子级在父级之前接收事件。
<div id="container">
<a href="" id="link"></a>
</div>
#container {
width:100px;
height:100px;
background:blue;
position:relative;
cursor:pointer;
}
#link {
width:20px;
height:20px;
background:green;
position:absolute;
top:10px;
left:10px;
}
$('#container').on('click', function() {
alert('container');
});
$('#link').on('click', function() {
alert('link');
});
$('#container').on('click', function() {
alert('container');
});
$('#link').on('click', function(e) {
alert('link');
e.stopPropagation();
});