JavaScript

Test de JavaScript: eventos

Practica 50 casos sobre listeners, propagación, delegación, formularios, teclado, puntero, foco y rendimiento de eventos.

Cada intento mezcla preguntas y respuestas para evitar patrones memorizables.

Cargando preguntas…

Qué vas a practicar

Este banco plantea interacciones reales con EventTarget y Event: registro y retirada de listeners, captura y burbujeo, delegación, acciones predeterminadas, formularios, teclado, puntero, foco, eventos personalizados y control de frecuencia.

  • Conceptos clave: addEventListener, removeEventListener y opciones once, passive y signal.
  • Diferencias importantes: target, currentTarget, cancelable y defaultPrevented.
  • Detalles que conviene dominar: Captura, burbujeo, delegación y control de propagación.
  • Aplicación en el test: Formularios, teclado, puntero, carga y rendimiento de manejadores.

Preguntas de ejemplo

Estos ejemplos reflejan el tipo de precisión que exige el test: leer el enunciado completo, elegir una opción y comprobar por qué encaja con JavaScript: eventos.

1Para registrar un manejador sin sobrescribir otros listeners del mismo EventTarget, ¿qué método corresponde?

Respuesta: addEventListener()

Explicación: addEventListener asocia una función a un tipo de evento sin sobrescribir otros listeners. La referencia de la función forma parte de la identidad necesaria para retirar el listener posteriormente.

2En la fase de burbujeo, ¿cómo se desplaza el evento por el árbol?

Respuesta: El evento asciende desde el objetivo por sus ancestros

Explicación: En la fase de burbujeo, el evento se propaga desde el objetivo hacia sus ancestros. Captura recorre de los ancestros al objetivo y burbujeo realiza el trayecto inverso.

3Mientras el usuario modifica el valor de un campo de texto, ¿qué evento se dispara de forma inmediata?

Respuesta: input

Explicación: input se emite por cada modificación del valor causada por el usuario. input sirve para respuesta inmediata; change representa normalmente un valor confirmado.

4¿Qué comprobación ayuda a delegar clics solo en botones con clase eliminar?

Respuesta: event.target.matches(".eliminar")

Explicación: matches comprueba si el elemento objetivo coincide con el selector CSS. Un listener en el contenedor también cubre elementos añadidos después de registrar el manejador.

5¿Qué evento se dispara cuando un elemento pierde el foco y no burbujea normalmente?

Respuesta: blur

Explicación: blur representa la pérdida de foco; focusout es la variante que burbujea. El foco refleja qué elemento recibe entrada de teclado, por lo que tiene impacto directo en accesibilidad.

6¿Qué afirmación sobre preventDefault es correcta?

Respuesta: No tiene efecto en eventos no cancelables

Explicación: preventDefault solo puede cancelar la acción predeterminada cuando cancelable es true. preventDefault solo cambia el comportamiento del navegador cuando el evento admite cancelación.

Cómo usarlo

Identifica primero el objetivo, la fase de propagación y la acción predeterminada. Después comprueba qué propiedad o método resuelve el caso, si la interacción funciona con distintos dispositivos y si el manejador necesita limitar su frecuencia o retirarse de forma explícita.

Fuente y revisión

Las preguntas se han revisado con los estándares vivos de DOM y HTML de WHATWG y la documentación actual de eventos de MDN. Revisión técnica: 19 de agosto de 2026.

Documentación consultada: WHATWG DOM Standard · HTML Standard: Web application APIs · MDN: DOM events