Wofür ist das Falsche am Ende? Vielen Dank.
window.addEventListener('load', function() {
alert("All done");
}, false);
javascript
0x499602D2
quelle
quelle
Ich habe auch MDN überprüft, aber ich habe immer noch nicht verstanden, wofür das
useCapture
war. Daher ist diese Antwort für diejenigen gedacht, die sie nach Überprüfung der offiziellen Dokumentation immer noch nicht erhalten.Zuallererst passiert also in fast allen Browsern Folgendes:
useCapture
Dies bedeutet , dass diese beiden Ereignisphasen unabhängig von der Einstellung immer vorhanden sind.Dieses Bild zeigt, wie es funktioniert.
Dann kommt deine Frage. Der dritte aufgerufene Parameter
useCapture
gibt an, in welcher der beiden Phasen Ihr Handler das Ereignis behandeln soll.Was bedeutet, wenn Sie Code wie folgt schreiben:
Wenn Sie auf das untergeordnete Element klicken, wird die
first
Methode zuvor aufgerufensecond
.Standardmäßig wird die
useCapture
wird Flag zu setzen falsch , dh Sie Handler wird nur während der Veranstaltung aufgerufen wird sprudelnde Phase.Für detaillierte Informationen klicken Sie auf diesen Referenzlink und diesen .
quelle
Die Antwort von @ Libra ist sehr gut, es gibt zufällig einige Leute wie mich, die die Interaktion des Codes mit der Maschine besser verstehen.
Das folgende Skript sollte daher die Ereignisausbreitung erläutern. Ich versuche anhand dieses Beschreibungsschemas
Folgendes zu tun : Nach dem Ereignisfluss wird die folgende Hierarchie nach unten und oben verschoben:
Der Einfachheit halber beginnen wir am Body bis zu den Span-Element-Registrierungshandlern für die Erfassungsphase und zurück zu den Body-Element-Registrierungshandlern für die Blasenphase. Das Ergebnis wäre also Knoten für Knoten die Richtung, in die das Ereignis vom Anfang bis zum Ende geht. Klicken Sie im rechten Bereich des Snippets auf "Konsole anzeigen", um auf die Protokolle zuzugreifen
Beachten Sie, dass Ereignisse wie der Fokus nicht sprudeln, was immer noch Sinn macht, dass die meisten Ereignisse sprudeln.
quelle