Descripción
El método addEventListener() nos permite asociar un gestor de eventos a un determinado elemento, cuando se produzca un evento en concreto.
El elemento al que podemos asociar el control de eventos con addEventListener() puede ser un Element, Document o Window.
Como gestor de eventos podemos tener una función o un objeto que implemente el interface EventListener. En este caso la función que le asociemos puede ser anónima.
Sintaxis
addEventListener(type, listener)
addEventListener(type, listener, options)
addEventListener(type, listener, useCapture)
Parámetros
- type, es una cadena con el tipo de evento sobre el que queremos registrar el gestor de eventos. Los tipos de eventos están definidos en el interface
Event: ‘blur’, ‘click’, ‘dblclick’, ‘copy’, ‘focus’,… - listener, es el objeto que recibe la notificación y que implementa un interface
Event. Por lo que los valores pueden sernull, un objeto con el métodohandleEvent()o una función Javascript. - options, nos permite especificar características del gestor de eventos. Entre las opciones tenemos:
capture, los eventos serán enviados al listener antes que a cualquierEventTargetque pueda existir dentro del árbol DOM. Por defecto tiene un valor defalse.once, indica que el listener puede ser invocado una única vez. Una vez invocado será eliminado.passive, la función nunca llamará al métodopreventDefault()y en el caso de que lo hiciese saldría un warning por consolasignal, el listener será eliminado cuando el métodoabort()deAbortSignales invocado.
- useCapture, valor booleano que nos permite controlar la propagación del evento por el árbol DOM a diferentes elementos. Por defecto es
falselo que hará que no haya propagación.
Objeto Padre
Ejemplo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Final de la Música</title>
</head>
<body>
<h1>Final de la Música</h1>
<audio id="miaudio" controls>
<source src="mimusica.ogg" type="audio/ogg">
<source src="mimusica.mp3" type="audio/mpeg">
Tu navegador no soporta el elemento <code>audio</code>.
</audio>
<div id="texto"></div>
<script>
var reproductor = document.getElementById("miaudio");
reproductor.addEventListener("ended", function(){
var texto = document.getElementById("texto");
texto.innerHTML = "Fin de la canción";
});
</script>
</body>
</html>
Artículos
- Abortar Eventos con Señales
- Fin del audio en HTML5
- Borrar contenido de capa en Javascript
- Convertir una cadena a fecha en Javascript
- Cortes en la descarga de vídeos HTML5
- Crear eventos con JavaScript
- Ejecutar un evento una única vez
- Pasar datos a un listener
- Evitar el envío de un formulario
- Hacer foco en un elemento sin scroll