0

jQuery に 3 つのイベントがあります。ただし、最大 2 つのイベントでしか機能しないようです。これは、最初の関数をコメントした場合にのみ機能します。jQueryは1つのonメソッドで3つのイベントを処理できますか? 次のコードは機能しないため、同じセレクターで同じことを繰り返す必要がありました。

            var t;
            $("#pro").on("mouseleave",
                // function(){$("#foo").hide(10000)},
                function(){clearTimeout(t)},
                function(){t=setTimeout(function(){$("#detail").slideUp();}, 5000)}
            );

これが私の繰り返しです。

          $("#pro").on("mouseleave", function(){$("#foo").fadeOut(10000)}); 

繰り返す必要がないように、すべてのイベントを 1 つの on メソッドに含めるにはどうすればよいですか。ありがとう、

4

2 に答える 2

2

イベント ハンドラーを 1 つだけ作成してみませんか。

var t;
$("#pro").on("mouseleave", function() {
    $("#foo").hide(10000);
    clearTimeout(t);
    t=setTimeout(function(){$("#detail").slideUp();}, 5000);
});
于 2013-09-17T06:36:11.000 に答える
0

それらすべてをsignleハンドラーに書き込むだけです

       $("#pro").on("mouseleave",
            // function(){$("#foo").hide(10000)},
            function(){
                 clearTimeout(t);
                 t=setTimeout(function(){$("#detail").slideUp();}, 5000);
                 $("#foo").fadeOut(10000);
            }
        );
于 2013-09-17T06:36:07.403 に答える