209 of 264 menu

De addEventListener-methode

De methode addEventListener maakt het mogelijk om op een element gebeurtenisafhandelaars toe te wijzen. Met behulp daarvan kan men bijvoorbeeld aangeven wat er moet gebeuren bij een klik op een knop of wat er moet gebeuren bij het typen van tekst in een tekstveld. In de eerste parameter specificeren we het type gebeurtenis, in de tweede - de functie die zal worden uitgevoerd na de gebeurtenis, gespecificeerd in de eerste parameter. In de derde optionele parameter geven we de kenmerken van het object door (once, capture, passive) of de parameter useCapture.

Syntaxis

element.addEventListener('gebeurtenistype', functie, [objectkenmerken]); of element.addEventListener('gebeurtenistype', functie, [useCapture]);

Voorbeeld

Laten we ervoor zorgen dat er een bericht wordt weergegeven bij een klik op de knop:

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

:

Voorbeeld

Laten we code schrijven zodat wanneer de focus in de input verloren gaat, er een bericht wordt weergegeven met de tekst van deze input:

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

:

Voorbeeld

Laten we ervoor zorgen dat bij een klik op de knop het bericht slechts één keer naar de console wordt uitgevoerd. Hiervoor maken we gebruik van de tweede parameter:

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

Voorbeeld

De parameter passive verbiedt het aanroepen van de methode event.preventDefault tijdens de verwerking van de gebeurtenis. Laten we op het vorige voorbeeld de methode event.preventDefault toepassen, en ook in de parameter passive de waarde true specificeren:

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

Na het uitvoeren van de code zullen we de volgende berichten zien:

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

Voorbeeld

De parameter useCapture met de waarde true toont het omhoog borrelen (bubbling) van gebeurtenissen van het innerlijke element naar het outerlijke, bij de waarde false - van het outerlijke naar het innerlijke element. Bij het doorgeven van de parameter useCapture wordt de naam weggelaten en simpelweg true of false genoteerd. Laten we kijken hoe gebeurtenissen omhoog borrelen in het bovenliggende en onderliggende elementen bij een klik erop:

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

:

Zie ook

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren