¿Que es un addEventListener() y para qué sirve? Ejemplos.

addEventListener es un método clave en JavaScript que permite detectar y responder a las acciones del usuario en una página web. Aquí aprenderás qué significa, cómo funciona y cómo usar este evento de escucha para crear interfaces dinámicas e interactivas. A lo largo del artículo verás ejemplos simples y reales que te ayudarán a entenderlo como un verdadero profesional del DOM.

que es addeventlistener en javascript y para que sirve

1. ¿Qué es un addEventListener() de JavaScript?

addEventListener() significa “Agregar un escuchador de eventos”, el cual es un método fundamental de JavaScript, disponible en los elementos del DOM, cuya función principal es adjuntar un manejador de eventos (una función callback) a un elemento específico.

Este método se ejecuta al inicio para configurar un listener de eventos (un vigilante) sobre dicho elemento.

¿Qué hace exactamente este addEventListener()?

Cuando un usuario interactúa con la página (por ejemplo, al hacer un click en un botón, pasar el ratón o presionar una tecla), el listener detecta esta acción. En ese instante, el navegador automáticamente:

  • Crea un objeto de evento con detalles de la interacción.
  • Ejecuta el código JavaScript previamente establecido en el manejador de eventos, permitiendo que se lleven a cabo las acciones dinámicas y deseadas en la página web.

Ejemplo sencillo para entender que hace exactamente addEventListener().

  1. Supongamos que tengo tengo un archivo HTML con elementos (como botones).
  2. Luego tengo un archivo JavaScript conectado a ese HTML.
  3. Dentro de ese JavaScript, uso addEventListener sobre un elemento específico (como el botón nombrado).
  4. Entonces, cuando el usuario hace clic en ese elemento, el navegador detecta ese clic y ejecuta la función que yo le indiqué con addEventListener().

2. ¿Cómo funciona un addEventListener()?

El funcionamiento de addEventListener() se basa en tres etapas principales:

  1. Configuración (Adjuntar el Listener),
  2. Detección (Disparo del Evento)
  3. Ejecución (Manejo del Evento), y está intrínsecamente ligado al Flujo de Eventos del DOM.

2.1. Configuración: Adjuntar el Listener

Este proceso ocurre una sola vez cuando tu código JavaScript se ejecuta por primera vez, típicamente cuando la página carga.

  1. Selección del elemento:
    • Primero, JavaScript obtiene una referencia a un elemento del DOM (por ejemplo, un botón, document.querySelector('#miBoton')).
  2. Llamada al método:
    • Se invoca addEventListener() en esa referencia. Se le pasa el tipo de evento que se quiere escuchar ('click', 'mouseover') y la función que se debe ejecutar (el callback).
  3. Registro:
    • El navegador registra internamente que, para ese elemento específico, si ocurre el evento X, debe llamar a la función Y.

2.2. Detección: Disparo del evento

Una vez configurado, el Listener se queda «vigilando». Esta fase sucede cuando el usuario interactúa con la página.

  1. Interacción del usuario:
    • El usuario realiza la acción que coincide con el tipo de evento configurado (ej. hace clic en el botón registrado).
  2. Creación del objeto Event:
    • El navegador inmediatamente crea un Objeto de Evento. Este objeto es una estructura de datos que contiene toda la información contextual sobre el evento que acaba de ocurrir (ej. coordenadas del ratón, qué tecla fue presionada, el elemento objetivo (e.target), etc.).

2.3. Ejecución: Activación del manejador de eventos

Esta es la fase donde tu código JavaScript toma el control.

  1. Llamada a la función:
    • El navegador toma el Objeto de Evento recién creado y lo pasa como argumento a la función callback (el Manejador de Eventos) que registraste en el Paso 1.
  2. Ejecución del código:
    • El código dentro de tu función callback se ejecuta, realizando las acciones dinámicas (cambiar clases CSS, actualizar texto, hacer peticiones a servidores, etc.).

3. ¿Cómo usar addEventListener() en JavaScript?

Para entender como usar addEventListener() en JavaScript, primero debemos conocer su sintaxis:

3.1. Sintaxis de addEventListener()

NOTA! La sintaxis siempre se aplica sobre un elemento del DOM que ya has seleccionado previamente:

elemento.addEventListener(tipoDeEvento, listener, opciones);Lenguaje del código: CSS (css)

Explicación:

  1. elemento
    • Es la referencia al objeto del DOM al que quieres adjuntar el evento. Debe ser un objeto que hayas obtenido previamente usando métodos de selección del DOM con JS.
    • Ejemplos de selección:
      • document.querySelector('#miBoton')
      • document.getElementById('cajaPrincipal')
      • window (para eventos de la ventana del navegador)
  2. tipoDeEvento (String)
    • Es una cadena de texto (string) que especifica el tipo de evento a escuchar. No lleva el prefijo «on» (a diferencia de las propiedades directas como onclick).
    • Ejemplos comunes:
      • 'click',
      • 'mouseover'
      • 'submit',
      • 'scroll'
      • 'keydown'.
  3. listener (Función manejadora de eventos)
    • Es la función callback que se ejecutará cada vez que el evento ocurra en el elemento. Esta función recibe automáticamente el Objeto de Evento (e) como su primer argumento.
    • Puedes usar:
  4. 4. opciones (Objeto Opcional)
    • Este es un argumento opcional que se pasa como un objeto de configuración ({}). Se utiliza para modificar el comportamiento por defecto del listener.
    • Propiedades comunes:
      • { capture: true }: Activa el listener en la fase de captura (por defecto es false/burbujeo).
      • { once: true }: El listener se dispara solo una vez y luego se elimina automáticamente.
      • { passive: true }: Indica que la función callback no llamará a preventDefault(). Esto es importante para mejorar el rendimiento del scrolling en eventos como touchmove.

4. Ejemplo práctico usando un addEventListener().

Supongamos que tenemos un botón HTML y queremos que aparezca un mensaje en la pantalla una vez que el usuario haga clic en dicho botón.

Entonces en este ejemplo vamos a crear la estructura del HTML más el JavaScript con el addEventListener() que será el encargado de escuchar cuando el usuario haga clic en dicho botón y ejecute el JavaScript que mostrará el mensaje.

PASO 1: El HTML (Estructura):

Creamos un botón al que adjuntaremos el listener y un párrafo vacío donde mostraremos el mensaje.

<button id="miBoton">Haz Clic Aquí</button>
<p id="mensajeResultado"></p>Lenguaje del código: HTML, XML (xml)

Aquí definimos:

  • Un botón con el id "miBoton"
  • Un párrafo vacío donde luego vas a mostrar el resultado

Estos elementos son parte del DOM (Document Object Model).
JavaScript va a poder seleccionarlos y manipularlos.

PASO 2: JavaScript con el addEventListener():

// A. Selección de Elementos: Obtenemos referencias a los elementos del DOM.
const boton = document.getElementById('miBoton');
const parrafoResultado = document.getElementById('mensajeResultado');

// B. Definición del Manejador de Eventos (La función a ejecutar)
function manejarClickBoton(evento) {
    // 1. Usamos el objeto de evento (e o evento) para ver quién disparó la acción
    console.log('El evento fue disparado por:', evento.target); 
    
    // 2. Definimos la acción (el código que queremos que se ejecute)
    parrafoResultado.textContent = '¡Hiciste clic en este botón!';
    parrafoResultado.style.color = 'green';
}

// C. Configuración (Uso de addEventListener):
// Adjuntamos el Listener 'click' al elemento 'boton',
// vinculándolo a nuestra función 'manejarClickBoton'.
boton.addEventListener('click', manejarClickBoton);

console.log('El Listener ha sido configurado y está esperando el clic.');Lenguaje del código: JavaScript (javascript)

Expliquemos cada unos de estos pasos en el código:

A. Selección de elementos del DOM

const boton = document.getElementById('miBoton');
const parrafoResultado = document.getElementById('mensajeResultado');Lenguaje del código: JavaScript (javascript)

¿Qué pasa aquí?

  1. JavaScript busca en el DOM el elemento cuyo id es "miBoton"
  2. Ese elemento es guardado en la variable JS boton

Lo mismo para el párrafo.

¿Por qué es necesario?

Porque addEventListener solo se puede aplicar a un nodo real del DOM.
Si no seleccionás el elemento, no podés agregarle un listener.

B. Definición del manejador de eventos (La Función)

function manejarClickBoton(evento) {
    console.log('El evento fue disparado por:', evento.target); 
    
    parrafoResultado.textContent = '¡Hiciste clic en este botón!';
    parrafoResultado.style.color = 'green';
}Lenguaje del código: JavaScript (javascript)

¿Qué es este bloque?

  • Es la función que se ejecutará cuando ocurra el evento.
  • Esta función se llama manejador, callback, o handler.

¿Qué hace la función?

1️⃣ Recibe un parámetro llamado evento

Automáticamente, cuando el usuario hace clic, el navegador genera un objeto de evento que contiene información útil:

  • quién hizo clic (target)
  • qué tipo de evento fue
  • coordenadas del clic
  • teclas presionadas
  • y mucho más

Por eso se recibe como argumento.

2️⃣ console.log('El evento fue disparado por:', evento.target)

Te muestra en consola qué elemento generó el evento.

En este caso será <button id="miBoton">Haz Clic Aquí</button>.

3️⃣ Cambia el contenido del párrafo

parrafoResultado.textContent = '¡Hiciste clic en este botón!';Lenguaje del código: JavaScript (javascript)

Esto modifica el DOM:
El <p> ahora tendrá texto.

4️⃣ Cambia su color

parrafoResultado.style.color = 'green';Lenguaje del código: JavaScript (javascript)

Manipulación visual del DOM → se ve inmediatamente en pantalla.

C. Configuración del Listener

boton.addEventListener('click', manejarClickBoton);Lenguaje del código: JavaScript (javascript)

Aquí ocurre lo más importante:

🔹 Le estás diciendo al botón: “Cuando ocurra un evento ‘click’, ejecutá la función manejarClickBoton.”

¿Qué ocurre detrás de escena?

  1. addEventListener() registra internamente una suscripción al evento 'click'
  2. El navegador queda escuchando permanentemente
  3. Si el usuario hace clic → el navegador genera un objeto Event
  4. Ese objeto se envía como argumento a tu función
  5. Tu función se ejecuta y modifica el DOM

Nada pasa hasta que el usuario interactúa.
Tu función está esperando, no se ejecuta por sí misma.

✔ Mensaje en consola:

console.log('El Listener ha sido configurado y está esperando el clic.');Lenguaje del código: JavaScript (javascript)

Esto simplemente confirma que el listener está configurado,
pero no hace nada hasta que el usuario hace clic.

Resumen:

  1. Seleccionás el elemento del DOM
  2. Definís qué querés que pase cuando ocurra el evento
  3. Registrás el listener con addEventListener
  4. Cuando el usuario hace clic → el navegador te avisa
  5. Tu función se ejecuta y manipula el DOM

⭐DEMOSTRACIÓN REAL:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *