Queremos regalarte la mejor información que encontramos on line. Nosotros esperamos que te resulte de utilidad y si quieres aportar alguna mejora hazlo libremente.
Solución:
¿Beneficios de rendimiento? Sí, hay algunos beneficios leves, como se describe en esta prueba de rendimiento entre jQuery live()
y on()
. Como también señaló @Joseph, la diferencia entre los dos es que la vida se propaga por todo el árbol, mientras que on()
sólo va al padre común más cercano.
En esas pruebas, se demuestra que on()
puede superar live()
hasta 4 veces. En la práctica, probablemente todavía no valga la pena dividirse en detalles, pero si tiene estructuras html muy profundas y muchos activadores de eventos, supongo que la diferencia de rendimiento al detener la propagación puede valer la pena.
aquí hay una comparación entre on()
y live()
que implican burbujeo y la razón por la que jQuery reemplazó live()
. el problema con live()
fue que los eventos se adjuntaron al documento, lo que provocó un largo viaje por el árbol para encontrar al controlador. lo que puedes hacer con on()
es que puede adjuntar el controlador al padre común más cercano, evitando así el largo viaje por el árbol en busca de un controlador, lo que significa un rendimiento más rápido.
pero sugiero hacer sus propios puntos de referencia para verificar.
Esta prueba muestra que hay una ventaja de rendimiento en eliminar el evento antes de tiempo. (15%-30%) Y probablemente habría una diferencia mayor en un DOM complejo. También es interesante notar que la captura de detectores de eventos parece ser un poco más rápida que los detectores de eventos burbujeantes, independientemente de lo que haga con el evento después de manejarlo. Extraño pero interesante; Sin embargo, solo probé en un navegador
Sección de Reseñas y Valoraciones
Acuérdate de que tienes permiso de valorar esta división si tropezaste tu atolladero .