jQuery performansı hakkında başka bir SO sorusu okudum, ayrı ayrı elemanlara bağlanmaktan ziyade olay temsilcisini kullanarak değer kazanmaya başladığım noktayı düşünmeye başladım. Esas olarak jQuery hakkında düşünüyordum, ama muhtemelen genel olarak Javascript için geçerli olduğunu varsayalım. işleyicileri DOM takılan henüz oluşturulmamış elemanlar/üzerinde çalışmak için izinEtkinlik delegasyonunun değerli hale gelmesi için kaç öğe var?
- :
Olay heyeti iki ana amacı vardır.
Benim soruya ortak bir atası elemana ziyade çoklu kardeş elemanlarına bir işlevi bağlama bu ikincisinin hakkındadır. Genel cevap muhtemelen "kesin duruma bağlıdır", ancak bunu test etmek için bir başparmak veya bir kıyaslama kuralı varsa merak ediyorum.
Yani, soru şu: Olay temsilcisinin performans avantajları, performans maliyetlerinden daha ağır basmadan önce kaç tane öğeye ihtiyacınız var? Bu, jQuery docs (http://api.jquery.com/delegate/) göre ....
<ul id="navUL"> <li><a href="one.html">One</a></li> <li><a href="two.html">Two</a></li> <li><a href="three.html">Three</a></li> </ul>
Sadece (benim için) şeyleri temizlemek için:
Bilmiyorum Olay heyetinin performans maliyetlerini bilir… Bunlar nedir? Olaylar yine de kabarcıklanır ve etkinlik hedefi, olay nesnesinin ilgili özelliğinde her zaman depolanır. –
@Sime Düşündüğüm ana olay, bir olay her tetiklendiğinde, temsilci aramasındaki seçicinin, olay hedefiyle eşleşip eşleşmediğini kontrol etmek için çalıştırılması gerektiğiydi. Başkaları olabilir ... – lonesomeday
Delegasyonu kullandığınızda, sayfa ömür boyu bağlama işleyicilerinin maliyetini etkin bir şekilde yaydığınızı düşünün. Önce öğeleri bularak bağladığınızda, kullanıcılar gecikmelere karşı en duyarlı oldukları zaman sayfa yükleme süresine daha fazla iş eklersiniz. – Pointy