我在监听器jquery中使用,我想要一些东西$(" .parentClass:not(.childClass)")。on(" click",function(){}) ,但这段代码不起作用,当我点击子div侦听器运行时,我只想运行父节点;
答案 0 :(得分:0)
您可以使用 event.stopPropagation()
来阻止父事件处理程序操作
// Handler for parent
$(".parentClass").on("click", function(e) {
alert('hi')
});
// Handler for child
$('.childClass').click(function(e) {
e.stopPropagation();
// preventing any parent handlers action
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="parentClass">
parent1
<div class="childClass">
child
</div>
</div>
event.stopPropagation()
:阻止事件冒泡DOM树,防止任何父处理程序收到事件通知。
答案 1 :(得分:0)
您需要像这样检查事件目标:
$(".parentClass").on("click",function(e){
if($(e.target).hasClass('childClass')){
return;
}
//do staff on exectly parent click
})