Heim > Web-Frontend > js-Tutorial > js verhindert Standardereignisse und js verhindert das Bubbling von Ereignissen. Beispiele zum Teilen von js verhindert das Bubbling von Ereignissen

js verhindert Standardereignisse und js verhindert das Bubbling von Ereignissen. Beispiele zum Teilen von js verhindert das Bubbling von Ereignissen

jacklove
Freigeben: 2018-06-15 16:48:22
Original
1675 Leute haben es durchsucht

Wenn bei verschachtelten p-Elementen sowohl das übergeordnete als auch das untergeordnete Element an einige Ereignisse gebunden sind, kann das Ereignis des übergeordneten Elements ausgelöst werden, wenn auf das innerste untergeordnete Element geklickt wird. Hier finden Sie eine Einführung in die Standardereignisse und die Blockierung von js Beispiele für sprudelnde Ereignisse, siehe
1. event.preventDefault(); Verhindern Sie das Standardereignis des Elements.
Hinweis: Das Standardereignis für den Klicksprung eines Elements,
Standardereignis für Schaltflächen, Radio- und andere Formularelemente,
p-Element hat kein Standardereignis
Beispiel:

<a href="http://www.baidu.com" target="_black">百度</a>var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);
Nach dem Login kopieren
Nach dem Login kopieren

Erläuterung: Wenn auf einen Link geklickt wird, erfolgt unter normalen Umständen ein Sprung. Jetzt haben wir jedoch sein Standardereignis, dh das Sprungereignis, blockiert, sodass nicht zu Baidu gesprungen wird.

  1. event.stopPropagation(); – Element-Bubbling-Ereignisse verhindern
    Hinweis: Verschachtelte Elemente haben im Allgemeinen Bubbling-Ereignisse, die bestimmte Auswirkungen haben werden
    Beispiel:

<p id="c1" onclick="alert(1)">
<p id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</p>
</p>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie hier auf die Schaltfläche klicken, werden nacheinander 3, 2 und 1 angezeigt. Ursprünglich wollte ich nur, dass das an die Schaltfläche gebundene Ereignis auftritt, aber ich habe es versehentlich ausgelöst. Für die Ereignisse der beiden übergeordneten Elemente haben wir hier nur einen einfachen Test durchgeführt. Wenn während der Projektentwicklung eine Schaltfläche und ihr übergeordnetes Element gleichzeitig an wichtige Ereignisse gebunden wären, wären die Ergebnisse katastrophal. Die Lösung besteht derzeit darin, Blasenbildung zu verhindern.
Registrieren Sie das Klickereignis für die Eingabe und verhindern Sie, dass es zu einem Bubbling-Ereignis kommt

document.getElementById(&#39;c3&#39;).addEventListener(&#39;click&#39;,function(e){e.stopPropagation()},false);
Nach dem Login kopieren

Wenn bei verschachtelten p-Elementen sowohl das übergeordnete als auch das untergeordnete Element an einige Ereignisse gebunden sind, wird beim Klicken auf das innerste untergeordnete Element auf Ereignisse des übergeordneten Elements geklickt Elemente können ausgelöst werden. Hier finden Sie Beispiele für die Verhinderung von Standardereignissen und für die Verhinderung von Ereignisblasen.
1. event.preventDefault();
Hinweis: Das Standardereignis für den Klicksprung eines Elements,
Standardereignis für Schaltflächen, Radio- und andere Formularelemente,
p-Element hat kein Standardereignis
Beispiel:

<a href="http://www.baidu.com" target="_black">百度</a>var samp = document.getElementByTagName("a");
samp.addEventListener("click",function(e){e.preventDefault()},false);
Nach dem Login kopieren
Nach dem Login kopieren

Erläuterung: Wenn auf einen Link geklickt wird, erfolgt unter normalen Umständen ein Sprung. Jetzt haben wir jedoch sein Standardereignis, dh das Sprungereignis, blockiert, sodass nicht zu Baidu gesprungen wird.

  1. event.stopPropagation(); – Element-Bubbling-Ereignisse verhindern
    Hinweis: Verschachtelte Elemente haben im Allgemeinen Bubbling-Ereignisse, die bestimmte Auswirkungen haben werden
    Beispiel:

<p id="c1" onclick="alert(1)">
<p id="c2" onlick="alert(2)">
<input type="button" id="c3" value="点击" onclick="alert(3)">
</p>
</p>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie hier auf die Schaltfläche klicken, werden nacheinander 3, 2 und 1 angezeigt. Ursprünglich wollte ich nur, dass das an die Schaltfläche gebundene Ereignis auftritt, aber ich habe es versehentlich ausgelöst. Für die Ereignisse der beiden übergeordneten Elemente haben wir hier nur einen einfachen Test durchgeführt. Stellen Sie sich vor, wenn während der Projektentwicklung ein Button und sein übergeordnetes Element gleichzeitig an sehr wichtige Ereignisse gebunden wären, wären die Ergebnisse katastrophal. Die Lösung besteht derzeit darin, Blasenbildung zu verhindern.
Klickereignis für die Eingabe registrieren und gleichzeitig dessen Bubbling-Ereignis verhindern

document.getElementById(&#39;c3&#39;).addEventListener(&#39;click&#39;,function(e){e.stopPropagation()},false);
Nach dem Login kopieren

In diesem Artikel werden Beispiele für js-blockierende Bubbling-Ereignisse erläutert. Bitte beachten Sie weitere verwandte Ereignisse Inhalt. php Chinesische Website.

Verwandte Empfehlungen:

Gemeinsame Schreib- und Aufrufmethoden für JS-Funktionen

Der gesamte Prozess des AJAX-Lesens von JSON von Native JS

vue.js Installation und Konfiguration

Das obige ist der detaillierte Inhalt vonjs verhindert Standardereignisse und js verhindert das Bubbling von Ereignissen. Beispiele zum Teilen von js verhindert das Bubbling von Ereignissen. 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