仅针对某些类元素的jQuery stopPropagation

仅针对某些类元素的jQuery stopPropagation,jquery,events,Jquery,Events,我有一些具有悬停效果的.myClass元素,我一次只希望其中一个元素使用悬停事件,因此我使用: event.stopPropagation() 但是我还有.myOtherClass,也需要它来使用悬停事件。当我使用event.stopPropagation()时,它会完全阻止事件 如何阻止.myClass上的事件传播,但不要阻止.myOtherClass上的事件传播 [编辑] -单击(悬停或其他)时,我只需要一个警报,告知单击了哪个类(峰值一)我假设您同时选择了两类元素,类似于$(“.myCl

我有一些具有悬停效果的
.myClass
元素,我一次只希望其中一个元素使用悬停事件,因此我使用:

event.stopPropagation()
但是我还有
.myOtherClass
,也需要它来使用悬停事件。当我使用
event.stopPropagation()
时,它会完全阻止事件

如何阻止
.myClass
上的事件传播,但不要阻止
.myOtherClass
上的事件传播

[编辑]


-单击(悬停或其他)时,我只需要
一个
警报,告知单击了哪个类(峰值一)

我假设您同时选择了两类元素,类似于
$(“.myClass.myOtherClass”)

如果是这样,您可以在
If
语句中使用
has()
,仅对所需的类停止播放

例如:

 $(".myClass, .myOtherClass").hover(function(e) {
      if ($(this).hasClass('myClass') {
          e.stopPropagation();
      };

      // hover logic
 });

更新

关于小提琴,您只需在每个事件处理程序中调用
stopPropagation

$(".a").click(function(e){
    e.stopPropagation();
    alert("a clicked");
});
$(".b").click(function(e){
    e.stopPropagation();
    alert("b clicked");
});

如果您将代码发布到事件中,这会很有帮助。stopPropagation
所做的是:它防止事件在处理程序调用的元素的祖先上触发
stopPropagation
。它不会阻止对其他元素触发悬停事件。