Red de conocimiento informático - Material del sitio web - ¿Cómo entender la delegación de eventos? ¿Cuáles son las ventajas y desventajas de la delegación de eventos?

¿Cómo entender la delegación de eventos? ¿Cuáles son las ventajas y desventajas de la delegación de eventos?

La delegación de eventos de JavaScript es una técnica sencilla mediante la cual puede agregar controladores de eventos a elementos superiores, evitando así la necesidad de agregar controladores de eventos a múltiples elementos secundarios. Cuando necesitamos agregar eventos a muchos elementos, podemos activar controladores agregando eventos a sus elementos principales y delegando el evento al elemento principal. Esto se debe principalmente al mecanismo de difusión de eventos del navegador. Los servidores proxy de eventos utilizan dos características que a menudo se pasan por alto en los eventos de JavaScript: la difusión de eventos y los elementos de destino.

Ventajas de la delegación de eventos:

1. Reduce el registro de eventos y ahorra memoria. Por ejemplo,

2. Todos los eventos de clic de td en la tabla de proxy.

3. Delegar todos los eventos de clic en ul.

4. Simplificó la actualización de los eventos correspondientes cuando se actualiza el nodo dom. Por ejemplo

5. No es necesario vincular el evento de clic al li recién agregado.

6. Al eliminar li, no es necesario desvincular el evento de clic anterior.

Desventajas de la delegación de eventos:

1. La delegación de eventos se basa en la difusión y los eventos sin difusión no admiten la delegación de eventos.

2. Hay demasiadas capas y una determinada capa puede bloquearla durante el proceso de burbujeo.

3. En teoría, la delegación hará que el navegador llame al controlador con frecuencia, aunque puede que no sea necesario manejarlo. Por lo tanto, se recomienda delegar cerca, por ejemplo, representar el td en la tabla en lugar de en el archivo.

4. Si todos los eventos se utilizan como sustitutos, se pueden producir errores de juicio. Por ejemplo, todos los eventos de clic de botón se expresan en el documento. Es posible que otros no lo sepan al hacer referencia a js, lo que provoca que se activen dos eventos de clic al hacer clic en el botón.