说我有
<div id="mydiv">
<div class="myclass">
<span class="otherclass"></span>
and many other classes...
</div>
</div>
我想捕获.mydiv上的click事件,但不是.myclass。
我试过了.mydiv:not(.myclass)
,但似乎没有用。我想是因为我可能点击了其他类,所以:not(.myclass)
无效。我怎样才能得到我想要的区域?谢谢!
答案 0 :(得分:3)
使#mydiv
可点击,执行任何操作,并停止.myclass
的事件传播,因此事件不会从myclass冒泡到mydiv
$('#mydiv').click(function(){
// do anything
})
// stop event propagation
$('.myclass').click(function(e){
e.stopPropagation();
})
答案 1 :(得分:0)
您可以点击mydiv
ID并在该功能中编写代码,然后在.myclass
点击事件中编写return false
以停止进一步执行功能。
$('#mydiv').click(function(){
// stuff your code here
});
//Use `return false` instead of `e.stopPropagation();`
$('.myclass').click(function(e){
return false;
})
e.stopPropagation()很危险,请阅读 Documentation
答案 2 :(得分:0)