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

Entdecken Sie, wie Ihnen eine LED den Einstieg in den Linux-Kernel erleichtert

Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...

MySQL 5.6.37 (zip) Download Installationskonfiguration Grafik-Tutorial

In diesem Artikel finden Sie das Download-, Insta...

Detaillierte Erklärung der CocosCreator-Optimierung DrawCall

Inhaltsverzeichnis Vorwort Was ist DrawCall Welch...

MySQL 4-Methoden zum Importieren von Daten

1. MySQL-Befehl importieren Die Importsyntax des ...

Detaillierte Erläuterung der Live-Übertragungsfunktion von Vue

Vor kurzem hat das Unternehmen zufällig Live-Über...

Detaillierte Analyse des MySQL 8.0-Speicherverbrauchs

Inhaltsverzeichnis 1. innodb_buffer_pool_size 2. ...

Zeigen Sie die vom Prozess in Linux belegte Portnummer an

Für Linux-Systemadministratoren ist es von entsch...

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Einige gängige CSS-Layouts (Zusammenfassung)

Zusammenfassung In diesem Artikel werden die folg...

Einfaches Tutorial zur Verwendung von Navicat für MySQL

empfehlen: Detailliertes Tutorial zur Registrieru...