簡體   English   中英

委托方法時,什么更有效?

[英]What's more efficient when delegating methods?

我有一個充滿AJAX的網站,因此我需要委托方法來記錄點擊次數,假設我也有jQuery庫。
我只想知道這兩個代碼之間更有效的方法:

$(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();
    }
})  

我想實現對客戶端的執行時間影響較小的代碼,從而使站點更快。 我知道也許差異不會太大,但是更快地工作總是更好;)

如果有一種方法比這兩種方法快,那么也歡迎。 謝謝。

如果差異不夠明顯,那么我想知道哪種算法更干凈,為每個委托綁定一個事件或綁定單個事件並比較類。

當稍后有許多元素添加到DOM時,第二種方法可能會很有效。 因此,將單個事件附加到文檔並委派確實可以加快應用程序的速度。

但是,如果創建並需要附加的元素數量不多,則兩者應以相同的速率運行。

我會采用第一種方法,因為它更清潔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM