Módulo 4

"DOM, arrays, eventos y depuración"

El DOM (Document Object Model) en JavaScript es una representación en forma de árbol de un documento HTML o XML que se carga en un navegador web. El DOM es una interfaz de programación de aplicaciones (API) que permite a los programadores acceder y manipular los elementos, atributos y contenido del documento web de manera dinámica.

El DOM permite a los desarrolladores escribir scripts que interactúen con la página web, lo que permite que la página web responda a las acciones del usuario. Por ejemplo, un programador puede usar JavaScript para modificar el contenido de una página web en tiempo real, cambiar la apariencia de la página, agregar o eliminar elementos, y responder a eventos del usuario, como hacer clic en un botón.

Arreglos/Arrays

Un array es una estructura de datos que nos permite almacenar y acceder a múltiples valores utilizando un solo identificador. Un array se define utilizando corchetes y los valores dentro del array se separan por comas. Por ejemplo:

const numeros = [1, 2, 3, 4, 5]; const = nombres = ["Juan", "María", "Pedro", "Luisa"]

En el ejemplo anterior, numeros es un array que contiene cinco valores numéricos y nombres es un array que contiene cuatro valores de tipo string.

Podemos acceder a los valores de un array utilizando su índice. En JavaScript, los índices de los arrays comienzan en cero, por lo que el primer elemento de un array tiene un índice de 0, el segundo tiene un índice de 1, y así sucesivamente. Por ejemplo:

console.log(numeros[0]); // en la consola mostrará el valor 1 console.log(nombres[2]); // en la consola mostrará el valor "Pedro"

Además de los índices, podemos utilizar algunos métodos integrados de los arrays para manipularlos. Algunos de los métodos los veremos en los siguientes videos.

Eventos y métodos

En JavaScript, los eventos son acciones que ocurren en la página web, como hacer clic en un botón o desplazar el cursor del mouse sobre un elemento. Los métodos son funciones que se pueden llamar en un objeto o elemento específico en la página web.

A continuación les compartimos una lista de eventos (no es necesario aprendérselos de memoria, simplemente que sepan como funcionan):

Tipo de evento

Nombre con prefijo on (eliminar cuando proceda)

Descripción aprenderaprogramar.com

Relacionados con el ratón

onclick

Click sobre un elemento

ondblclick

Doble click sobre un elemento

onmousedown

Se pulsa un botón del ratón sobre un elemento

onmouseenter

El puntero del ratón entra en el área de un elemento

onmouseleave

El puntero del ratón sale del área de un elemento

onmousemove

El puntero del ratón se está moviendo sobre el área de un elemento

onmouseover

El puntero del ratón se sitúa encima del área de un elemento

onmouseout

El puntero del ratón sale fuera del área del elemento o fuera de uno de sus hijos

onmouseup

Un botón del ratón se libera estando sobre un elemento

contextmenu

Se pulsa el botón derecho del ratón (antes de que aparezca el menú contextual)

Relacionados con el teclado

onkeydown

El usuario tiene pulsada una tecla (para elementos de formulario y body)

onkeypress

El usuario pulsa una tecla (momento justo en que la pulsa) (para elementos de formulario y body)

onkeyup

El usuario libera una tecla que tenía pulsada (para elementos de formulario y body)

Relacionados con formularios

onfocus

Un elemento del formulario toma el foco

onblur

Un elemento del formulario pierde el foco

onchange

Un elemento del formulario cambia

onselect

El usuario selecciona el texto de un elemento input o textarea

onsubmit

Se pulsa el botón de envío del formulario (antes del envío)

onreset

Se pulsa el botón reset del formulario

Relacionados con ventanas o frames

onload

Se ha completado la carga de la ventana

onunload

El usuario ha cerrado la ventana

onresize

El usuario ha cambiado el tamaño de la ventana

Relacionados con animaciones y transiciones

animationend, animationiteration, animationstart, beginEvent, endEvent, repeatEvent, transitionend

Relacionados con la batería y carga de la batería

chargingchange, chargingtimechange, dischargingtimechange, levelchange

Relacionados con llamadas tipo telefonía

alerting, busy, callschanged, connected, connecting, dialing, disconnected, disconnecting, error, held, holding, incoming, resuming, statechange

Relacionados con cambios en el DOM

DOMAttrModified, DOMCharacterDataModified, DOMContentLoaded, DOMElementNameChanged, DOMNodeInserted, DOMNodeInsertedIntoDocument, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMSubtreeModified

Relacionados con arrastre de elementos (drag and drop)

drag, dragend, dragenter, dragleave, dragover, dragstart, drop

Relacionados con video y audio

audioprocess, canplay, canplaythrough, durationchange, emptied, ended, ended, loadeddata, loadedmetadata, pause, play, playing, ratechange, seeked, seeking, stalled, suspend, timeupdate, volumechange, waiting, complete

Relacionados con la conexión a internet

disabled, enabled, offline, online, statuschange, connectionInfoUpdate

Otros tipos de eventos

Hay más tipos de eventos: relacionados con la pulsación sobre pantallas, uso de copy and paste (copiar y pegar), impresión con impresoras, etc.