0

ホバー効果のある要素がいくつか.myClassあり、一度に1つだけホバーイベントを使用したいので、次を使用します:

event.stopPropagation()

しかし.myOtherClass、そのホバーイベントも使用する必要があります。使用するevent.stopPropagation()と、イベントがまったくブロックされます。

イベントの伝播をブロックする方法はあります.myClassが、ブロックしないで.myOtherClassください。

[編集]

http://jsfiddle.net/K92Fe/ - クリック時 (ホバーなど)oneクリックされたクラス (ピーク 1) を通知するアラートのみが必要です

4

1 に答える 1

1

のように、要素の両方のクラスを一度に選択していると仮定しています$(".myClass, .myOtherClass")

その場合は、必要なクラスの stopPropagation のみをステートメントhas()で使用できます。if

例えば:

 $(".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 に答える