JavaScript

JavaScript

Tutorial JavaScript: Eventos del DOM

JavaScript DOM: manipulación y uso. Domina la manipulación y uso del DOM en JavaScript con ejemplos prácticos y detallados.

Aprende JavaScript GRATIS y certifícate

El Modelo de Objetos del Documento (DOM, por sus siglas en inglés) es una representación programática de un documento web, que permite a los desarrolladores de JavaScript interactuar y manipular el contenido, la estructura y el estilo de un sitio web.

Un evento del DOM es una señal que indica que algo específico ha ocurrido en el documento. Esto puede ser algo que el usuario hace (como hacer click con el ratón, presionar una tecla, o mover el ratón), o puede ser algo que el navegador hace (como completar la carga de la página, o empezar a reproducir un video).

Los eventos son una parte fundamental de la interacción con las páginas web en JavaScript. Permiten que los desarrolladores de JavaScript hagan que las páginas web sean interactivas y respondan a las acciones del usuario.

Escuchadores de eventos

Un patrón común en JavaScript es el uso de "escuchadores de eventos" (event listeners), que son funciones que se "escuchan" o "esperan" un tipo específico de evento y luego se ejecutan cuando ese evento ocurre.

Por ejemplo, podría utilizarse un escuchador de eventos para hacer que algo suceda cuando un usuario hace click en un botón:

// Primero, se obtiene una referencia al elemento del botón
var boton = document.getElementById('miBoton');

// Luego, se añade un escuchador de eventos al botón
boton.addEventListener('click', function() {
  // Dentro de esta función, se especifica que debe suceder al hacer click en el botón
  alert('¡Has hecho click en el botón!');
});

En este ejemplo, el escuchador de eventos está "escuchando" el evento 'click'. Cuando el usuario hace click en el botón, el escuchador de eventos se activa y ejecuta la función que se le ha proporcionado. En este caso, la función simplemente muestra una alerta que dice '¡Has hecho click en el botón!'.

Es importante mencionar que los eventos no están limitados a las interacciones del usuario. Por ejemplo, el evento 'load' se dispara cuando el navegador ha terminado de cargar una página o una imagen. Aquí se muestra un ejemplo de cómo se puede usar este evento:

// Se añade un escuchador de eventos al objeto window para el evento 'load'
window.addEventListener('load', function() {
  // Esta función se ejecutará cuando la página haya terminado de cargar
  console.log('La página ha terminado de cargar.');
});

En este ejemplo, el escuchador de eventos se está añadiendo al objeto window, que representa la ventana del navegador. Cuando el navegador ha terminado de cargar la página, se activa el evento 'load' y se ejecuta la función proporcionada, que en este caso simplemente imprime un mensaje en la consola.

Eventos del DOM

Aquí hay una lista de algunos de los eventos del DOM más comúnmente utilizados en JavaScript:

  1. click: Se dispara cuando un usuario hace click en un elemento.
document.getElementById("miBoton").addEventListener("click", function() {
  console.log("¡Has hecho click en el botón!");
});
  1. dblclick: Se dispara cuando un usuario hace doble click en un elemento.
document.getElementById("miBoton").addEventListener("dblclick", function() {
  console.log("¡Has hecho doble click en el botón!");
});
  1. mouseenter: Se dispara cuando el cursor del ratón entra en un elemento.
document.getElementById("miDiv").addEventListener("mouseenter", function() {
  console.log("¡El ratón ha entrado en el div!");
});
  1. mouseleave: Se dispara cuando el cursor del ratón sale de un elemento.
document.getElementById("miDiv").addEventListener("mouseleave", function() {
  console.log("¡El ratón ha salido del div!");
});
  1. keydown: Se dispara cuando el usuario presiona una tecla.
window.addEventListener("keydown", function(event) {
  console.log("¡Has presionado la tecla: " + event.key + "!");
});
  1. keyup: Se dispara cuando el usuario suelta una tecla.
window.addEventListener("keyup", function(event) {
  console.log("¡Has soltado la tecla: " + event.key + "!");
});
  1. load: Se dispara cuando un recurso y sus recursos dependientes han terminado de cargar.
window.addEventListener("load", function() {
  console.log("¡La página ha terminado de cargar!");
});
  1. submit: Se dispara cuando un formulario es enviado.
document.getElementById("miFormulario").addEventListener("submit", function(event) {
  event.preventDefault(); // Evita la acción por defecto del navegador
  console.log("¡El formulario ha sido enviado!");
});
  1. change: Se dispara cuando el valor de un elemento de entrada de formulario cambia.
document.getElementById("miInput").addEventListener("change", function() {
  console.log("¡El valor del input ha cambiado a: " + this.value + "!");
});

Estos son sólo algunos ejemplos de los muchos eventos que los desarrolladores de JavaScript pueden utilizar para interactuar con el DOM y crear páginas web interactivas.

Argumentos de addEventListener

La función addEventListener toma dos argumentos:

  1. El nombre del evento que se quiere escuchar (por ejemplo, 'click', 'load', 'keyup', etc.).
  2. Una función de callback que se ejecutará cuando se dispare el evento.

Una función de callback es una función que se pasa como argumento a otra función (en este caso, addEventListener) y que se "llama de vuelta" en algún momento. En el contexto de los eventos del DOM, la función de callback se llama cada vez que se dispara el evento especificado.

La función de callback puede ser cualquier función que se defina, y puede contener cualquier código que se desee ejecutar en respuesta al evento.

function miFuncionDeCallback() {
  console.log('¡Se ha hecho click en el botón!');
}

document.getElementById('miBoton').addEventListener('click', miFuncionDeCallback);

En este ejemplo, miFuncionDeCallback es una función que se define por separado y luego se pasa como argumento a addEventListener. Cada vez que se hace clic en el botón, se llama a miFuncionDeCallback, y se imprime un mensaje en la consola.

Además, la función de callback puede recibir opcionalmente un objeto de evento como su primer argumento. Este objeto contiene información sobre el evento, como el elemento que disparó el evento, el tipo de evento, la hora del evento, y cualquier detalle específico del evento (por ejemplo, la tecla que se presionó para un evento de teclado, o las coordenadas del clic para un evento de clic). Aquí hay un ejemplo de cómo se puede utilizar este objeto de evento:

function miFuncionDeCallback(evento) {
  console.log('¡El botón ha sido clickeado!');
  console.log('El evento fue de tipo: ' + evento.type);
  console.log('El evento fue disparado por el elemento: ' + evento.target.id);
}

document.getElementById('miBoton').addEventListener('click', miFuncionDeCallback);

En este ejemplo, miFuncionDeCallback toma un argumento evento, que es el objeto de evento. Dentro de la función, se imprime información adicional sobre el evento, incluyendo el tipo de evento y el id del elemento que lo disparó.

A través de los eventos del DOM, los desarrolladores de JavaScript pueden crear experiencias de usuario interactivas y dinámicas en sus páginas web.

Aprende JavaScript GRATIS online

Ejercicios de esta lección Eventos del DOM

Evalúa tus conocimientos de esta lección Eventos del DOM con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Funciones flecha

JavaScript
Puzzle

Polimorfismo

JavaScript
Test

Array

JavaScript
Código

Transformación con map()

JavaScript
Test

Introducción a JavaScript

JavaScript
Test

Gestor de tareas con JavaScript

JavaScript
Proyecto

Manipulación DOM

JavaScript
Test

Funciones

JavaScript
Test

Funciones flecha

JavaScript
Código

Async / Await

JavaScript
Código

Creación y uso de variables

JavaScript
Test

Excepciones

JavaScript
Puzzle

Promises

JavaScript
Código

Funciones cierre (closure)

JavaScript
Test

Herencia

JavaScript
Puzzle

Herencia

JavaScript
Test

Estructuras de control

JavaScript
Código

Selección de elementos DOM

JavaScript
Test

Modificación de elementos DOM

JavaScript
Test

Filtrado con filter() y find()

JavaScript
Test

Funciones cierre (closure)

JavaScript
Puzzle

Funciones

JavaScript
Puzzle

Mapas con Map

JavaScript
Test

Reducción con reduce()

JavaScript
Test

Callbacks

JavaScript
Puzzle

Manipulación DOM

JavaScript
Puzzle

Promises

JavaScript
Test

Async / Await

JavaScript
Test

Eventos del DOM

JavaScript
Puzzle

Async / Await

JavaScript
Puzzle

Promises

JavaScript
Puzzle

Filtrado con filter() y find()

JavaScript
Código

Callbacks

JavaScript
Test

Creación de clases y objetos Restaurante

JavaScript
Código

Reducción con reduce()

JavaScript
Código

Filtrado con filter() y find()

JavaScript
Puzzle

Reducción con reduce()

JavaScript
Puzzle

Conjuntos con Set

JavaScript
Puzzle

Herencia de clases

JavaScript
Código

Eventos del DOM

JavaScript
Test

Clases y objetos

JavaScript
Puzzle

Modificación de elementos DOM

JavaScript
Puzzle

Mapas con Map

JavaScript
Puzzle

Funciones

JavaScript
Código

Tipos de datos

JavaScript
Test

Clases y objetos

JavaScript
Test

Array

JavaScript
Test

Conjuntos con Set

JavaScript
Test

Array

JavaScript
Puzzle

Encapsulación

JavaScript
Puzzle

Clases y objetos

JavaScript
Código

Uso de operadores

JavaScript
Puzzle

Uso de operadores

JavaScript
Test

Estructuras de control

JavaScript
Test

Excepciones

JavaScript
Test

Transformación con map()

JavaScript
Puzzle

Funciones flecha

JavaScript
Test

Selección de elementos DOM

JavaScript
Puzzle

Encapsulación

JavaScript
Test

Mapas con Map

JavaScript
Código

Creación y uso de variables

JavaScript
Puzzle

Polimorfismo

JavaScript
Puzzle

Tipos de datos

JavaScript
Puzzle

Estructuras de control

JavaScript
Puzzle

Todas las lecciones de JavaScript

Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a JavaScript y certifícate

Certificados de superación de JavaScript

Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender la importancia de los eventos del DOM en el desarrollo web.
  2. Aprender a utilizar los escuchadores de eventos para detectar y responder a eventos específicos.
  3. Conocer algunos de los eventos del DOM más comúnmente utilizados, como 'click', 'dblclick', 'mouseenter', 'mouseleave', 'keydown', 'keyup', 'load', 'submit', y 'change'.
  4. Entender cómo pasar funciones de callback como argumentos a los escuchadores de eventos y cómo trabajar con el objeto de evento para obtener información sobre el evento que ocurrió.
  5. Aprender cómo crear interactividad en una página web mediante la detección y respuesta a eventos del DOM.