簡體   English   中英

我應該在單個或單獨的調用中在 $(document) 上設置多個元素綁定嗎?

[英]Should I set multiple element bindings on $(document) in single or separate calls?

我正在嘗試清理和改進一些代碼。 有一個相當大的片段將多個事件附加到$(document)如下所示:

$(document).on('eventA.nameA', '#pageA', function(){
    // do sth
});

$(document).on('eventB.nameB', '#pageB', function(){
    // do sth
});

$(document).on('eventC.nameC', '#pageC', function(){
    // do sth
});

所以基本上所有的事件綁定都直接在文檔上。

題:

是否有限制(我發現大約 50 個單獨的文檔綁定)以及在單個選擇器上設置它的優點/缺點是什么,如下所示:

$(document)
    .on('eventA.nameA', '#pageA', function(){
        // do sth
    })
    .on('eventB.nameB', '#pageB', function(){
        // do sth
    })
    .on('eventC.nameC', '#pageC', function(){
        // do sth
    });

大多數綁定是特定於頁面的(它是一個 Jquery Mobile 應用程序,因此一旦將頁面拉入 DOM,其綁定設置如下)。 所以真的沒有其他地方可以放置這些綁定,因為在$(document)持續時會被拉入和拉出。

感謝您的輸入!

將它們放在單個選擇器上的優點是您可以避免每次調用$(document) (開銷較小,因為$(document)被緩存)。 缺點是它們都必須一個接一個地對齊,並且您將它們縮進一級。 這並不重要。

最重要的,如果這些都接近真實的選擇,使用代表團document的ID選擇可能是真正的浪費。 只需等到文檔准備好,或者在元素更新時更新事件處理程序 - 特別是如果所有這些元素實際上不會同時存在於同一頁面上。 如果選擇器實際上比這更復雜,請忽略本段:-)

暫無
暫無

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

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