1

シンプルに聞こえますし、CSS クラスの変更を伴う解決策もありますが、次の問題に対するエレガントなオンザフライの解決策があるかどうか疑問に思っていました。

これは同様の質問ですが、私のシナリオでは「再帰が多すぎます」。

したがって、次のタブに移動するボタンが 2 つあります。コンテンツの上部に 1 つ、下部に 1 つ。そして、どちらかの上にカーソルを合わせると、両方ともホバーの状態を表示するようにします。それらは同じ html コードを持っています。

<a href="#" class="button step-next" onclick="showStep(3); return false;">Next &raquo;</a>

他の投稿に従って、解決策を試しました。

$('a.step-next').on('mousenter mouseleave', function(e) {
    $('a.step-next').not(this).trigger(e.type);
});

しかし、not() を使用するという私の最初のロジックは間違っています。2 つの要素のそれぞれの間でイベントを前後に発生させるだけです。

明らかに、CSS を変更して新しいクラスを追加し、hover/not でそれを削除できます。これが下に行くルートです。しかし、トリガーのみのソリューションはありますか?

4

2 に答える 2

0

何を達成したいのかわからない( html required)が、これはあなたが探している解決策かもしれません:

$('a.step-next').on('mousenter mouseleave', function(e) {
  $(this).siblings('a.step-next').trigger(e.type);
});
于 2013-03-11T11:03:25.210 に答える
0

私が正しく理解していれば、コード生成イベントでコードを再トリガーしたくない..

その場合、extraParametersof.trigger()メソッドを使用できます

$('a.step-next').on('mousenter mouseleave', function(e, fromCode) {
    if (fromCode === undefined){
        $('a.step-next').not(this).trigger(e.type, true);
    }
});
于 2013-03-11T11:11:51.367 に答える