Navegador
Manejo de Eventos
Los eventos son acciones o sucesos que ocurren en el navegador, como clics, pulsaciones de teclas o envíos de formularios. JavaScript proporciona varias formas de manejar estos eventos para crear aplicaciones web interactivas.
Añadiendo Listenos de Evento
El addEventListener()
método adjunta un controlador de eventos a un elemento.
Este método proporciona varias ventajas:
Varios escuchadores de eventos pueden ser adjuntados a un solo elemento.
Permite quitar escuchadores de eventos más tarde.
Proporciona una mejor separación de JavaScript de HTML.
Tipos de Eventos Comunes
Los eventos pueden ser desencadenados por acciones del usuario o interacciones del sistema.
Eventos del Ratón
click
– Desencadenado cuando un elemento es clicado.dblclick
– Desencadenado en un doble clic.mouseover
– Desencadenado cuando el ratón entra en un elemento.mouseout
– Desencadenado cuando el ratón sale de un elemento.mousedown
/mouseup
– Desencadenado cuando un botón del ratón es presionado o soltado.
Ejemplo:
Eventos de Teclado
keydown
– Desencadenado cuando una tecla es presionada.keyup
– Desencadenado cuando una tecla es soltada.keypress
– (Desaprobado) Usado para detectar presiones de teclas de caracteres.
Ejemplo:
Eventos de Formulario
submit
– Desencadenado cuando un formulario es enviado.change
– Desencadenado cuando el valor de un campo de entrada cambia.focus
/blur
– Desencadenado cuando un campo de entrada gana o pierde foco.
Ejemplo:
Eventos de Ventana
load
– Desencadenado cuando la página termina de cargar.resize
– Desencadenado cuando la ventana es redimensionada.scroll
– Desencadenado cuando la página es desplazada.
Ejemplo:
Objeto de Evento (event
)
Cuando un evento ocurre, un objeto event
es pasado automáticamente al controlador de eventos, conteniendo información útil sobre el evento.
Ejemplo:
Propagación de Eventos (Burbujeo y Captura)
Los eventos de JavaScript se propagan a través del DOM en dos fases:
Fase de Captura – El evento se mueve desde el elemento raíz hasta el objetivo.
Fase de Burbujeo – El evento se mueve desde el objetivo de regreso al raíz.
Por defecto, los eventos burbujean.
Ejemplo de burbujeo de eventos:
Hacer clic en el elemento hijo registrará:
Para detener la propagación del evento:
Para utilizar la fase de captura, pasa true
como el tercer argumento en addEventListener()
:
Eliminando Listenos de Evento
Usa removeEventListener()
para desprender un controlador de eventos.
Importante: La referencia de función debe coincidir exactamente para que removeEventListener()
funcione.
Delegación de Evento
En lugar de añadir escuchadores de eventos a múltiples elementos, la delegación de eventos adjunta un solo escuchador a un elemento padre y verifica qué hijo desencadenó el evento.
Beneficios de la delegación de eventos:
Mejora el rendimiento al reducir el número de escuchadores de eventos.
Útil para elementos añadidos dinámicamente.
Previniendo el Comportamiento Predeterminado
Algunos eventos tienen comportamientos predeterminados del navegador (por ejemplo, envíos de formularios, clics en enlaces). El método event.preventDefault()
previene esto.
Conclusión
El manejo de eventos es esencial para aplicaciones web interactivas. Esta sección cubrió escuchadores de eventos, propagación de eventos, delegación de eventos y prevención de comportamientos predeterminados. La siguiente sección se centrará en trabajar con formularios e input del usuario en JavaScript.
Únete a nuestro Foro Comunitario
¿Alguna otra pregunta? Ponte en contacto