Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erklärung des Unterschieds zwischen addEventListener und on

黄舟
Freigeben: 2017-12-04 15:25:03
Original
2355 Leute haben es durchsucht

Wir haben Ihnen in einem früheren Artikel die Verwendung von addEventListener in JavaScript vorgestellt. Ich glaube, dass jeder ein besseres Verständnis von addEventListener hat, daher werden wir Ihnen heute weiterhin die detaillierte Erklärung von addEventListener vorstellen. Der Unterschied zu on!

Warum benötigen Sie addEventListener?

Schauen wir uns zuerst einen Ausschnitt an:

HTML-Code

<div id="box">追梦子</div>
Nach dem Login kopieren

Auf Code verwenden

window.onload = function(){
    var box = document.getElementById("box");
    box.onclick = function(){
        console.log("我是box1");
    }
    box.onclick = function(){
        box.style.fontSize = "18px";
        console.log("我是box2");
    }
}
     运行结果:“我是box2”
Nach dem Login kopieren

Sehen Sie es sich, beim zweiten Klick Der erste Onclick ist zwar abgedeckt, um die gewünschten Ergebnisse zu erzielen, aber manchmal müssen wir mehrere identische Ereignisse ausführen Wir müssen erraten, was wir wollen, Sie müssen es wissen, richtig! addEventListener kann dasselbe Ereignis mehrmals binden und überschreibt das vorherige Ereignis nicht.

Verwenden Sie den Code von addEventListener

window.onload = function(){
    var box = document.getElementById("box");
    box.addEventListener("click",function(){
        console.log("我是box1");
    })
    box.addEventListener("click",function(){
        console.log("我是box2");
    })
}
    运行结果:我是box1
         我是box2
Nach dem Login kopieren

Der erste Parameter der addEventListenert-Methode füllt den Ereignisnamen aus. Der zweite Parameter kann eine Funktion sein , und der dritte Parameter bezieht sich darauf, ob das Programm Ereignisverarbeitung in der Sprudelphase oder in der Erfassungsphase verarbeitet werden soll. Wenn es wahr ist, stellt es die Verarbeitung in der Erfassungsphase dar Blasenphase. Der dritte Parameter kann weggelassen werden und wird in den meisten Fällen nicht benötigt. Wenn Sie den dritten Parameter nicht schreiben, ist der Standardwert falsch

Die Verwendung des dritten Parameters

Manchmal ist die Situation so

<body>
  <div id="box">
    <div id="child"></div>
  </div>
</body>
Nach dem Login kopieren

Wenn ich Box hinzufüge, klicken Sie auf das Ereignis. Wenn ich direkt auf die Box klicke, gibt es kein Problem, aber wenn ich auf das untergeordnete Element klicke, wie wird es ausgeführt? ? (Ausführungsreihenfolge)

box.addEventListener("click",function(){
    console.log("box");
})

child.addEventListener("click",function(){
    console.log("child");
})
  执行的结果:
        child
        box
Nach dem Login kopieren

Mit anderen Worten: Standardmäßig werden Ereignisse in der Reihenfolge ausgeführt, in der Ereignisse auftauchen.

Wenn der dritte Parameter als „true“ geschrieben wird, wird die Ausführungsreihenfolge der Ereigniserfassung befolgt.

box.addEventListener("click",function(){
    console.log("box");
},true)

child.addEventListener("click",function(){
    console.log("child");
})
  执行的结果:
        box
        child
Nach dem Login kopieren

Ereignis-Sprudel-Ausführungsprozess:

Beginnen Sie mit dem Sprudeln nach oben vom spezifischsten Element (dem Element, auf das Sie geklickt haben). Es ist: Kind-. >box

Ereigniserfassungs-Ausführungsprozess:

Beginnen Sie mit dem am wenigsten spezifischen Element (der äußersten Box) und sprudeln Sie hinein. Nehmen Sie unseren obigen Fall, um darüber zu sprechen. Die Reihenfolge ist: box-> ;child

Zusammenfassung:

Der Unterschied zwischen addEventListener und on wird durch die Instanzmethode detailliert beschrieben. Sie haben ein besseres Verständnis dafür Verwendung von addEventListener und weiter. Ich hoffe, es wird für Ihre Arbeit hilfreich sein!

Verwandte Empfehlungen:

Detaillierte Erläuterung der Verwendung von addEventListener in JavaScript

Javascript DOM Object Learning Event Stream addEventListener() Verwendungs-Tutorial

Analyse von addEventListener() und removeEventListener() in js

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen addEventListener und on. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!