javascript-eventos-dom-mas-usados

Eventos más usados del DOM en JavaScript

En JavaScript, el navegador y el DOM proporcionan una gran cantidad de eventos disponibles.

Por ejemplo, esto nos permite reaccionar a sucesos como la finalización de la carga de un documento, o la acción de un usuario con el ratón o el teclado.

Vamos a ver algunos de las categorías de eventos, con sus eventos más comunes 👇.

Eventos de ventana

Estos eventos están relacionados con el objeto window y su estado:

EventoSe activa cuando
loadEl contenido de la ventana y todos sus recursos han terminado de cargar.
resizeEl tamaño de la ventana cambia.
scrollSe desplaza el contenido de la ventana.
unloadLa ventana se cierra o se navega a una nueva página.
window.addEventListener('resize', function(event) {
    console.log('Tamaño de ventana cambiado');
});

Eventos de carga y descarga

Estos eventos están relacionados con la carga y descarga de recursos:

EventoSe activa cuando
DOMContentLoadedEl contenido del DOM se ha cargado y analizado, pero antes de que se carguen las hojas de estilo, imágenes y subframes.
beforeunloadAntes de que la página sea descargada, permitiendo mostrar un mensaje de confirmación.

Ejemplo:

document.addEventListener('DOMContentLoaded', function(event) {
    console.log('DOM completamente cargado y parseado');
});

Eventos de mouse

Estos eventos están relacionados con las acciones realizadas con el ratón. Algunos de los eventos de ratón más comunes son:

EventoSe activa cuando
clickEl usuario hace clic en un elemento.
dblclickEl usuario hace doble clic en un elemento.
mousedownEl usuario presiona un botón del ratón sobre un elemento.
mouseupEl usuario suelta un botón del ratón sobre un elemento.
mousemoveEl usuario mueve el ratón sobre un elemento.
mouseenterEl ratón entra en el área de un elemento.
mouseleaveEl ratón sale del área de un elemento.
document.getElementById('miBoton').addEventListener('click', function(event) {
    alert('Botón clickeado');
});

Eventos de Drag and Drop

Estos eventos están relacionados con las acciones de arrastrar y soltar elementos en una página web.

Se utilizan comúnmente para implementar interfaces interactivas que permiten mover elementos de un lugar a otro.

EventoSe activa cuando
dragstartEl usuario comienza a arrastrar un elemento.
dragEl usuario arrastra un elemento (se activa continuamente mientras el elemento se arrastra).
dragendEl usuario suelta el elemento que estaba arrastrando.
dragenterUn elemento arrastrado entra en el área de un destino válido de drop.
dragoverUn elemento arrastrado se mueve dentro del área de un destino válido.
dragleaveUn elemento arrastrado sale del área de un destino válido de drop.
dropUn elemento arrastrado se suelta en un destino válido de drop.
const elementoArrastrable = document.getElementById('arrastrable');
const contenedor = document.getElementById('contenedor');

// Configurar el elemento arrastrable
elementoArrastrable.addEventListener('dragstart', function(event) {
    event.dataTransfer.setData('text', event.target.id);
    console.log('Drag iniciado');
});

// Configurar el contenedor como destino válido
contenedor.addEventListener('dragover', function(event) {
    event.preventDefault(); // Necesario para permitir el drop
    console.log('Elemento arrastrado sobre el contenedor');
});

contenedor.addEventListener('drop', function(event) {
    event.preventDefault();
    const id = event.dataTransfer.getData('text');
    const elemento = document.getElementById(id);
    contenedor.appendChild(elemento);
    console.log('Elemento soltado en el contenedor');
});

Eventos de teclado

Estos eventos están relacionados con las acciones realizadas con el teclado:

EventoSe activa cuando
keydownEl usuario presiona una tecla.
keyupEl usuario suelta una tecla.
keypressEl usuario presiona una tecla que produce un carácter.
document.addEventListener('keydown', function(event) {
    console.log(`Tecla presionada: ${event.key}`);
});

Eventos de formulario

Estos eventos están relacionados con la interacción con formularios HTML:

EventoSe activa cuando
submitUn formulario se envía.
changeEl valor de un campo de formulario cambia.
inputEl usuario ingresa o modifica el valor de un campo.
focusUn campo de formulario recibe el enfoque.
blurUn campo de formulario pierde el enfoque.
document.getElementById('miFormulario').addEventListener('submit', function(event) {
    event.preventDefault(); // Evita que el formulario se envíe
    console.log('Formulario enviado');
});

Eventos de media

Estos eventos están relacionados con la reproducción de medios (audio y video):

EventoSe activa cuando
playSe inicia la reproducción de un medio.
pauseSe pausa la reproducción de un medio.
endedLa reproducción de un medio termina.
volumechangeEl volumen del medio cambia.
const videoElement = document.getElementById('miVideo');

videoElement.addEventListener('play', function(event) {
    console.log('El video está reproduciéndose');
});