209 of 264 menu

Método addEventListener

El método addEventListener permite asignar manejadores de eventos a un elemento. Con él, se puede especificar, por ejemplo, qué hacer al hacer clic en un botón o qué hacer al escribir texto en un campo de texto. En el primer parámetro especificamos el tipo de evento, en el segundo - la función que se ejecutará después del evento especificado en el primer parámetro. En el tercer parámetro opcional pasamos las características del objeto (once, capture, passive) o el parámetro useCapture.

Sintaxis

elemento.addEventListener('tipo de evento', función, [características del objeto]); o elemento.addEventListener('tipo de evento', función, [useCapture]);

Ejemplo

Hagamos que al hacer clic en un botón se muestre un mensaje:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('message'); });

:

Ejemplo

Escribamos código para que al perder el foco en un input se muestre un mensaje con el texto de ese input:

<input id="input" value="text"> let input = document.querySelector('#input'); input.addEventListener('blur', function() { alert(this.value); });

:

Ejemplo

Hagamos que al hacer clic en un botón el mensaje se muestre en la consola solo una vez. Para ello, utilizaremos el segundo parámetro:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { console.log('message'); }, { once: true } );

Ejemplo

El parámetro passive prohíbe llamar al método event.preventDefault al manejar el evento. Apliquemos el método event.preventDefault al ejemplo anterior, y también especifiquemos en el parámetro passive el valor true:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('No message'); }, { passive: true } );

Después de ejecutar el código veremos los siguientes mensajes:

'No message'; 'Unable to preventDefault inside passive event listener invocation.'

Ejemplo

El parámetro useCapture con valor true muestra el burbujeo de eventos desde el elemento interno al externo, mientras que con valor false - desde el externo al interno. Al pasar el parámetro useCapture, su nombre se omite y se escribe simplemente true o false. Veamos cómo burbujean los eventos en el elemento padre y en el hijo al hacer clic en ellos:

<div id="parent">Parent <p id="child">Child</p> </div> #parent{ width: 60px; padding: 10px; border: 1px solid red; text-align: center; } #child{ width: 60px; marging-right: 40px; border: 1px solid blue; text-align: center; } let parent = document.querySelector('#parent'); let child = document.querySelector('#parent'); parent.addEventListener('click', () => alert('parent'), true ); child.addEventListener('click', () => alert('child'), true );

:

Véase también

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar