JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript -HTML-DOM-EventListener


Die Methode addEventListener()

Beispiel

Fügen Sie einen Ereignis-Listener hinzu, der ausgelöst wird, wenn ein Benutzer auf eine Schaltfläche klickt:

document.getElementById("myBtn").addEventListener("click", displayDate);

Die addEventListener()Methode fügt einen Ereignishandler an das angegebene Element an.

Die addEventListener()Methode hängt einen Ereignishandler an ein Element an, ohne vorhandene Ereignishandler zu überschreiben.

Sie können einem Element viele Event-Handler hinzufügen.

Sie können einem Element viele Ereignisbehandler des gleichen Typs hinzufügen, dh zwei "Klick"-Ereignisse.

Sie können Ereignis-Listener zu jedem DOM-Objekt hinzufügen, nicht nur zu HTML-Elementen. dh das Fensterobjekt.

Die addEventListener()Methode macht es einfacher zu steuern, wie das Ereignis auf Sprudeln reagiert.

Bei Verwendung der addEventListener()Methode wird das JavaScript vom HTML-Markup getrennt, um die Lesbarkeit zu verbessern, und Sie können Ereignis-Listener hinzufügen, auch wenn Sie das HTML-Markup nicht steuern.

Sie können einen Ereignis-Listener einfach entfernen, indem Sie die removeEventListener()Methode verwenden.


Syntax

element.addEventListener(event, function, useCapture);

Der erste Parameter ist der Typ des Ereignisses (wie „ click“ oder „ mousedown“ oder irgendein anderes HTML-DOM-Ereignis .)

Der zweite Parameter ist die Funktion, die wir aufrufen möchten, wenn das Ereignis eintritt.

Der dritte Parameter ist ein boolescher Wert, der angibt, ob Ereignis-Bubbling oder Ereigniserfassung verwendet werden soll. Dieser Parameter ist optional.

Beachten Sie, dass Sie das Präfix „on“ für das Ereignis nicht verwenden; Verwenden Sie „ click“ anstelle von „ onclick“.


Fügen Sie einem Element einen Event-Handler hinzu

Beispiel

Warnung "Hallo Welt!" wenn der Benutzer auf ein Element klickt:

element.addEventListener("click", function(){ alert("Hello World!"); });

Sie können auch auf eine externe "benannte" Funktion verweisen:

Beispiel

Warnung "Hallo Welt!" wenn der Benutzer auf ein Element klickt:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


Fügen Sie dem gleichen Element viele Event-Handler hinzu

Mit addEventListener()dieser Methode können Sie viele Ereignisse zu demselben Element hinzufügen, ohne vorhandene Ereignisse zu überschreiben:

Beispiel

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

Sie können demselben Element Ereignisse unterschiedlichen Typs hinzufügen:

Beispiel

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

Fügen Sie dem Fensterobjekt einen Ereignishandler hinzu

Mit der addEventListener()Methode können Sie jedem HTML-DOM-Objekt wie HTML-Elementen, dem HTML-Dokument, dem Fensterobjekt oder anderen Objekten, die Ereignisse unterstützen, wie dem xmlHttpRequestObjekt, Ereignis-Listener hinzufügen.

Beispiel

Fügen Sie einen Ereignis-Listener hinzu, der ausgelöst wird, wenn ein Benutzer die Größe des Fensters ändert:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

Parameter übergeben

Verwenden Sie beim Übergeben von Parameterwerten eine "anonyme Funktion", die die angegebene Funktion mit den Parametern aufruft:

Beispiel

element.addEventListener("click", function(){ myFunction(p1, p2); });

Event Bubbling oder Event Capturing?

Es gibt zwei Arten der Ereignisweitergabe im HTML-DOM, Bubbling und Capturing.

Die Ereignisweitergabe ist eine Möglichkeit, die Elementreihenfolge zu definieren, wenn ein Ereignis auftritt. Wenn Sie ein <p>-Element in einem <div>-Element haben und der Benutzer auf das <p>-Element klickt, welches "Klick"-Ereignis sollte zuerst behandelt werden?

Beim Bubbling wird zuerst das Ereignis des innersten Elements behandelt und dann das äußere: Das Click-Ereignis des <p>-Elements wird zuerst behandelt, dann das Click-Ereignis des <div>-Elements.

Beim Erfassen wird zuerst das Ereignis des äußersten Elements behandelt und dann das innere: Das Klickereignis des <div>-Elements wird zuerst behandelt, dann das Klickereignis des <p>-Elements.

Mit der Methode addEventListener() können Sie den Verbreitungstyp angeben, indem Sie den Parameter "useCapture" verwenden:

addEventListener(event, function, useCapture);

Der Standardwert ist „false“, was die Bubbling-Propagation verwendet, wenn der Wert auf „true“ gesetzt ist, verwendet das Ereignis die Capturing-Propagation.

Beispiel

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

Die Methode removeEventListener()

Die removeEventListener()Methode entfernt Ereignishandler, die mit der Methode addEventListener() angehängt wurden:

Beispiel

element.removeEventListener("mousemove", myFunction);

HTML-DOM-Ereignisobjektreferenz

Eine Liste aller HTML-DOM-Ereignisse finden Sie in unserer vollständigen HTML-DOM-Ereignisobjektreferenz .


Testen Sie sich mit Übungen

Übung:

Verwenden Sie die eventListener, um dem Element ein onclick-Ereignis zuzuweisen <button>.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>