0

私はAJAXでいっぱいのサイトを持っているので、jQueryライブラリも持っていると仮定して、クリックを文書化するためにメソッドを委任する必要があります。
これら2つのコードの間でどちらがより効率的かを知りたいだけです:

$(document).on('click', '.delegate1', function(){
    doSomethingForDelegate1();
}).on('click', '.delegate2', function(){
    doSomethingForDelegate2();
});  

または:

$(document).on('click', function(event){
    var element = $(event.target);
    if(element.hasClass('delegate1')){
        doSomethingForDelegate1();
    } else if(element.hasClass('delegate2')){
        doSomethingForDelegate2();
    }
})  

クライアントの実行時間への影響が少ないコードを実装して、サイトを高速化したいと考えています。違いはあまりないかもしれませんが、より速く作業する方が常に良いです;)

これら 2 つの方法よりも高速な方法があれば、それも歓迎します。ありがとう。

違いが十分に目立たない場合は、デリゲートごとにイベントをバインドするか、単一のイベントをバインドしてクラスを比較する、よりクリーンなアルゴリズムを知りたいと思います。

4

1 に答える 1

0

2 番目の方法は、後で DOM に追加される要素が多数ある場合に効率的です。SO 単一のイベントをドキュメントに添付して委任すると、アプリケーションを実際に高速化できます。

しかし、作成されてアタッチする必要がある要素の数がそれほど多くない場合、両方が同じ速度で実行されるはずです..

最初のアプローチの方がはるかにクリーンなので、私は最初のアプローチを使用します。

于 2013-01-24T18:16:35.170 に答える