Skip to main content

Event Listeners

Los event listeners permiten que tu aplicación web responda a las acciones del usuario como clicks, teclas presionadas, movimientos del mouse y más. Son fundamentales para crear interfaces interactivas.

¿Qué es un Event Listener?

Un event listener es una función que “escucha” un evento específico en un elemento y ejecuta código cuando ese evento ocurre.

Eventos Click

El evento más común es el click del mouse.

Estructura del Event Listener

1

Seleccionar el elemento

Primero, selecciona el elemento que quieres escuchar.
2

Agregar el listener

Usa addEventListener con el tipo de evento y la función manejadora.
3

Ejecutar lógica

Dentro de la función manejadora, escribe el código que debe ejecutarse.

Eventos de Input

El evento input se dispara cada vez que el valor de un campo de entrada cambia.

El Objeto Event

La función manejadora recibe un objeto event (comúnmente llamado e o evt) con información sobre el evento:
e.target siempre apunta al elemento que disparó el evento, independientemente de dónde esté adjunto el listener.

Eventos Focus y Blur

Estos eventos se disparan cuando un elemento gana o pierde el foco.

Casos de Uso

Usa blur para validar campos cuando el usuario termina de escribir.
Usa focus para destacar el campo activo.
Usa blur para guardar cambios automáticamente.

Tipos Comunes de Eventos

Eventos de Mouse

Eventos de Teclado

Eventos de Formulario

Siempre usa e.preventDefault() en eventos submit si vas a manejar el envío con JavaScript. De lo contrario, la página se recargará.

Inicialización de Eventos

Es importante esperar a que el DOM esté completamente cargado antes de agregar event listeners:

Alternativas para Esperar el DOM

Se dispara cuando el HTML está completamente cargado y parseado.
La opción más moderna y recomendada es usar el atributo defer en la etiqueta script.

Remover Event Listeners

Puedes remover un event listener cuando ya no lo necesites:
Para remover un listener, debes pasar la misma función que usaste al agregarlo. Por eso es útil usar funciones con nombre en lugar de funciones anónimas.

Event Delegation

Cuando tienes muchos elementos similares, es más eficiente agregar un solo listener al padre:
Ventajas:
  • Un solo listener en lugar de muchos
  • Funciona automáticamente con elementos agregados dinámicamente
  • Mejor rendimiento en listas grandes

Próximos Pasos

JavaScript Asíncrono

Aprende a manejar operaciones asíncronas

Ejemplos del DOM

Ve ejemplos completos de manipulación del DOM