209 of 264 menu

Die Methode addEventListener

Die Methode addEventListener ermöglicht es, Ereignis-Handler einem Element zuzuordnen. Mit ihrer Hilfe kann man beispielsweise festlegen, was bei einem Klick auf einen Button geschehen soll oder was bei der Texteingabe in ein Textfeld passieren soll. Im ersten Parameter wird der Typ des übergebenen Ereignisses angegeben, im zweiten - die Funktion, die nach dem im ersten Parameter angegebenen Ereignis ausgeführt wird. Im dritten optionalen Parameter werden die Eigenschaften des Objekts (once, capture, passive) oder der Parameter useCapture übergeben.

Syntax

element.addEventListener('Ereignistyp', Funktion, [Objekteigenschaften]); oder element.addEventListener('Ereignistyp', Funktion, [useCapture]);

Beispiel

Lassen Sie uns bewirken, dass bei einem Klick auf den Button eine Nachricht ausgegeben wird:

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

:

Beispiel

Lassen Sie uns Code schreiben, damit beim Verlust des Fokus im Input eine Nachricht mit dem Text dieses Inputs ausgegeben wird:

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

:

Beispiel

Lassen Sie uns bewirken, dass bei einem Klick auf den Button die Nachricht nur einmal in der Konsole ausgegeben wird. Dafür nutzen wir den zweiten Parameter:

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

Beispiel

Der Parameter passive verbietet den Aufruf der Methode event.preventDefault bei der Ereignisbehandlung. Lassen Sie uns auf das vorherige Beispiel die Methode event.preventDefault anwenden und zudem im Parameter passive den Wert true angeben:

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

Nach der Ausführung des Codes werden wir folgende Meldungen sehen:

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

Beispiel

Der Parameter useCapture mit dem Wert true zeigt das Bubbling der Ereignisse vom inneren Element zum äußeren, bei dem Wert false - vom äußeren zum inneren Element. Bei der Übergabe des Parameters useCapture wird sein Name weggelassen und einfach true oder false geschrieben. Lassen Sie uns anschauen, wie Ereignisse im übergeordneten und untergeordneten Element bei einem Klick auf sie aufsteigen:

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

:

Siehe auch

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen