Al leer otra pregunta sobre el rendimiento de jQuery, comencé a pensar sobre el punto cuando valía la pena utilizar la delegación de eventos en lugar de vincularla a los elementos individualmente. Estaba pensando principalmente en jQuery, pero supongo que probablemente sea aplicable para Javascript en general.¿Cuántos elementos se necesitan para que la delegación de eventos valga la pena?
delegación de eventos tiene dos propósitos principales:
- permitiendo manipuladores para trabajar en los elementos que aún no han sido creados/insertados en el DOM.
- vinculante una función a un elemento ancestro común más que a varios elementos relacionados
Mi pregunta se refiere a la segunda de ellas. La respuesta general probablemente será "depende de la situación exacta", pero me pregunto si existe una regla empírica o una forma de evaluación comparativa para probar esto.
Entonces, la pregunta es: ¿Cuántos elementos necesita antes de que los beneficios de rendimiento de la delegación de eventos superen los costos de rendimiento?
no lo hago conocer los costos de rendimiento de la delegación de eventos ... ¿Qué son? Los eventos aparecen de todos modos, y el objetivo del evento se almacena en la propiedad correspondiente del objeto de evento en todo momento. –
@Sime El principal en el que había pensado era que cada vez que se dispara un evento, el selector en la llamada delegada debe ejecutarse para verificar si coincide con el objetivo del evento. Puede haber otros ... – lonesomeday
Tenga en cuenta que cuando usa la delegación, distribuye eficazmente el costo de vincular controladores a lo largo de la vida de la página. Cuando se vincula mediante la búsqueda de elementos primero, se agrega más trabajo al momento de cargar la página, cuando los usuarios son más sensibles a las demoras. – Pointy