5

次の違いは何ですか?

$(document).on("scroll",".wrapper1", function(){
   $(".wrapper2")
    .scrollLeft($(".wrapper1").scrollLeft());
});  

$('.wrapper1').on("scroll", function(){
        $(".wrapper2")
            .scrollLeft($(".wrapper1").scrollLeft());
});

各関数を正確に使用する必要があるのはいつですか?

4

3 に答える 3

5

この2つの違いは、

$('.wrapper1').on("scroll", ....)このステートメントの実行時に存在する要素のみにスクロール イベントをバインドします。つまり、このステートメントの実行wrapper1後にクラスを持つ新しい要素が動的に追加された場合、イベント ハンドラはそれらの要素に対して実行されません。

$(document).on("scroll",".wrapper1", ...)一方、documentオブジェクトに 1 つのイベント ハンドラーを登録し、クラス `wrapper`` を持つ要素内でスクロールが発生するたびにイベント バブリングを使用してハンドラーを呼び出すため、要素の動的な追加がサポートされます。

したがって、いつメソッドを好むか

限られた数の要素しかなく、それらが動的に追加されない場合は、最初の方法を優先できます

多くの要素がある場合、またはこれらの要素が動的に追加される場合は、2 番目の方法をお勧めします。

于 2013-04-17T10:54:23.167 に答える