Detaillierte Erklärung des Unterschieds zwischen JavaScript onclick und click

Detaillierte Erklärung des Unterschieds zwischen JavaScript onclick und click

Das ist der Unterschied zwischen ddEventListener und on

Warum wird addEventListener benötigt?

Schauen wir uns zunächst einen Clip an:

<div id="box">Test</div>

Verwendung im Code:

windwo.onload = Funktion(){
  var box = document.getElementById("box");
  box.onclick = ()=>console.log("Ich bin box1");
  box.onclick = ()=>console.log("Ich bin box2");
}
// Laufergebnis: Ich bin Box2

Sie sehen, das zweite onclick-Ereignis deckt das erste onclick ab. Obwohl wir in den meisten Fällen on verwenden können, um den gewünschten Effekt zu erzielen, müssen wir manchmal mehrere identische Ereignisse ausführen, was mit on offensichtlich nicht zu erreichen ist. Sie können jedoch addEventListener verwenden, um dasselbe Ereignis mehrmals zu binden, ohne das vorherige Ereignis zu überschreiben.

Code mit „addEventListener“

fenster.onload = funktion(){
  var box = document.getElementById("box");
  box.addEventListener("klicken",()=>console.log("Ich bin Box1"));
  box.addEventListener("klicken",()=>console.log("Ich bin Box2"));
}
// Operationsergebnis: Ich bin Box1
            //Ich bin Box2

Der erste Parameter addEventListener wird mit dem Ereignisnamen gefüllt. Beachten Sie, dass Sie nichts schreiben müssen. Der zweite Parameter kann eine Funktion sein. Der dritte Parameter bezieht sich darauf, ob das Ereignis in der Bubbling-Phase oder in der Capture-Phase verarbeitet werden soll. Wenn „true“ bedeutet dies, dass die Verarbeitung in der Capture-Phase erfolgt. Wenn „false“ bedeutet dies, dass die Verarbeitung in der Bubbling-Phase erfolgt. Der dritte Parameter kann weggelassen werden. In den meisten Fällen wird der dritte Parameter nicht benötigt. Wenn Sie den dritten Parameter nicht schreiben, wird standardmäßig „false“ verwendet.

Verwendung des dritten Parameters

Manchmal ist die Situation so:

<Text>
  <div id = "Box">
    <div id = "Kind"></div>
  </div>
</body>

Wenn ich dem Feld ein Klickereignis hinzufüge, gibt es kein Problem, wenn ich direkt auf das Feld klicke. Wie wird es jedoch ausgeführt, wenn ich auf das untergeordnete Element klicke?

box.addEventListener("klicken",()=>console.log("box"));
child.addEventListener("klicken",()=>console.log("child"));
// Ausführungsergebnis: child -> box

Das heißt, standardmäßig wird die Reihenfolge der Event-Bubbling-Ausführung eingehalten.

Bildbeschreibung hier einfügen

Wenn der dritte Parameter wahr ist, erfolgt die Ausführung in der Reihenfolge, in der die Ereignisse erfasst werden.

Zusammenfassen

1. Das onclick -Ereignis kann immer nur auf ein Objekt gleichzeitig verweisen

2. addEventListener kann mehrere Listener für ein Ereignis registrieren

3. addEventListener ist für jedes DOM-Element gültig, während onclick auf HTML-Elemente beschränkt ist

4. addEventListener kann die Auslösephase des Listeners steuern (Capture/Blase).

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung des JavaScript-Onclick-Ereignisses
  • Analyse der wesentlichen Unterschiede und Verwendung von Click und Onclick in JavaScript
  • JS implementiert eine Lösung für die Koexistenz von onClick-Ereignissen und onDblClick-Ereignissen auf demselben DOM-Element
  • So binden Sie ein Klickereignis (onclick) an eine Schaltfläche in JavaScript
  • Javascript verwendet das Onclick-Ereignis, um die Farbe der ausgewählten Zeile zu ändern

<<:  Mysql-Optimierungstool (empfohlen)

>>:  Auszeichnungssprache - für

Artikel empfehlen

Die Magie des tbody-Tags beschleunigt die Anzeige von Tabelleninhalten

Sie haben sicher schon einmal die Webseiten andere...

So beheben Sie den MySQL-FEHLER 1045 (28000) - Zugriff wegen Benutzer verweigert

Problembeschreibung (die folgende Diskussion besc...

JavaScript implementiert Feuerwerkseffekte mit Soundeffekten

Ich habe eine halbe Stunde gebraucht, um den Code...

Detaillierte Erläuterung der MySQL-Sicherung und -Wiederherstellung

Vorwort: In den vorherigen Artikeln wurde die Ver...

Detaillierte Erläuterung gängiger MySQL-Befehle im Linux-Terminal

Aufschlag: # chkconfig --list Alle Systemdienste ...

Detaillierte Erklärung zum Datenaustausch zwischen Vue-Komponenten

Inhaltsverzeichnis 1. In der Projektentwicklung w...

Zwei Implementierungslösungen für die Vuex-Datenpersistenz

Inhaltsverzeichnis Geschäftsanforderungen: Lösung...

CSS zur Realisierung der Einzelauswahl-Faltmenüfunktion

Führen Sie kein Front-End-UI-Framework ein, es se...

So implementieren Sie geplante MySQL-Aufgaben zur Datensicherung unter Linux

Vorwort Backup ist die Grundlage der Notfallwiede...

Eine vollständige Anleitung zu CSS-Stilattributen css() und width() in jQuery

Inhaltsverzeichnis 1. Grundlegende Verwendung von...