Javascript 如何选择一个类而不是它的内部元素?

Javascript 如何选择一个类而不是它的内部元素?,javascript,jquery,jquery-selectors,selector,Javascript,Jquery,Jquery Selectors,Selector,说我有 <div id="mydiv"> <div class="myclass"> <span class="otherclass"></span> and many other classes... </div> </div> 还有很多其他的课程。。。 我想捕获.mydiv上的单击事件,但不在.myclass内 我尝试了.mydiv:not(.myclass),但似乎不起作用。我

说我有

<div id="mydiv">
  <div class="myclass">
       <span class="otherclass"></span>
       and many other classes...
  </div>
</div>

还有很多其他的课程。。。
我想捕获.mydiv上的单击事件,但不在.myclass内

我尝试了
.mydiv:not(.myclass)
,但似乎不起作用。我想这是因为我可能正在单击另一个类,所以
:not(.myclass)
不起作用。我怎样才能得到我想要的区域?谢谢

使
#mydiv
可点击,做任何你想做的事,并停止事件从
.myclass
传播,这样事件就不会从myclass冒泡到mydiv

     $('#mydiv').click(function(){
        // do anything
     })

    // stop event propagation
     $('.myclass').click(function(e){
        e.stopPropagation();
        })

您可以单击
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()是危险的,请阅读

调用将删除事件处理程序

    $("#mydiv").on('click', function () {
        alert("You clicked mydiv");
    });

    $(".myclass").off('click', function () {
    });
           or like this

   $(".myclass").off();

#mydiv:not(.myclass)
酷。。但我可能仍然希望捕获.myclass中的一些单击事件。这会影响到这一点吗?