209 of 264 menu

Méthode addEventListener

La méthode addEventListener permet d'assigner des gestionnaires d'événements à un élément. Avec elle, on peut spécifier, par exemple, quoi faire lors d'un clic sur un bouton ou quoi faire lors de la saisie de texte dans un champ de texte. Dans le premier paramètre, on spécifie le type d'événement transmis, dans le second - la fonction qui se déclenchera après l'événement spécifié dans le premier paramètre. Dans le troisième paramètre optionnel, on transmet les caractéristiques de l'objet (once, capture, passive) ou le paramètre useCapture.

Syntaxe

élément.addEventListener('type d'événement', fonction, [caractéristiques de l'objet]); ou élément.addEventListener('type d'événement', fonction, [useCapture]);

Exemple

Faisons en sorte qu'un message s'affiche lorsqu'on clique sur le bouton :

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

:

Exemple

Écrivons un code pour qu'à la perte du focus dans l'input, un message avec le texte de cet input s'affiche :

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

:

Exemple

Faisons en sorte qu'au clic sur le bouton, le message s'affiche dans la console une seule fois. Pour cela, utilisons le deuxième paramètre :

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

Exemple

Le paramètre passive interdit d'appeler la méthode event.preventDefault lors du traitement de l'événement. Appliquons la méthode event.preventDefault à l'exemple précédent, et spécifions également la valeur true dans le paramètre passive :

<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 } );

Après l'exécution du code, nous verrons les messages suivants :

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

Exemple

Le paramètre useCapture avec la valeur true montre la remontée des événements de l'élément interne vers l'élément externe, avec la valeur false - de l'élément externe vers l'élément interne. Lors de la transmission du paramètre useCapture, son nom est omis et on écrit simplement true ou false. Voyons comment les événements remontent dans l'élément parent et l'élément enfant lorsqu'on clique dessus :

<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 );

:

Voir aussi

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser