0

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

event.stopPropagation()

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

如何阻止事件传播.myClass但不阻止它.myOtherClass

[编辑]

http://jsfiddle.net/K92Fe/ - 点击(悬停或其他)我只需要one提醒点击什么类(峰值一)

4

1 回答 1

1

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

如果是这样,您可以has()if语句中仅使用 stopPropagation 所需的类。

例如:

 $(".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");
});

更新的小提琴

于 2012-11-26T10:55:48.660 回答