Heim Web-Frontend js-Tutorial Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang

Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang

Jan 13, 2024 pm 12:51 PM
sprudelndes Ereignis Einschränkung Sprudeln wird nicht unterstützt

Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang

Bubbling Event bezieht sich auf eine Ereigniszustellungsmethode, die Schritt für Schritt von untergeordneten Elementen zu übergeordneten Elementen im DOM-Baum ausgelöst wird. In den meisten Fällen sind Bubbling-Ereignisse sehr flexibel und skalierbar, es gibt jedoch einige Sonderfälle, in denen Ereignisse das Bubbling nicht unterstützen.

1. Welche Ereignisse unterstützen das Sprudeln nicht?
Obwohl die meisten Veranstaltungen das Sprudeln unterstützen, gibt es einige Veranstaltungen, die das Sprudeln nicht unterstützen. Im Folgenden sind einige häufige Ereignisse aufgeführt, die Sprudeln nicht unterstützen:

  1. Fokus- und Unschärfeereignisse
  2. Lade- und Entladeereignisse
  3. Eingabe-, Auswahl- und Änderungsereignisse
  4. Übertragungs- und Zurücksetzungsereignisse
  5. Bildlaufereignisse
  6. Mouseenter- und Mouseleave-Ereignisse
  7. Kontextmenü-Ereignis

2. Ereignisbeispiele
Um die Einschränkungen von Bubbling-Ereignissen besser zu verstehen, werden unten für jedes Ereignis, das Bubbling nicht unterstützt, zum besseren Verständnis spezifische Codebeispiele aufgeführt:

  1. Focus- und Blur-Ereignisse
    Focus und Unschärfeereignisse sind Ereignisse, mit denen Elemente behandelt werden, die den Fokus gewinnen oder verlieren. Diese Ereignisse unterstützen das Bubbling nicht. Das heißt, wenn Sie ein Fokus- oder Unschärfeereignis für ein untergeordnetes Element auslösen, wird das entsprechende Ereignis für das übergeordnete Element nicht ausgelöst.

HTML-Code:

<div>
  <input type="text" id="myInput">
</div>
Nach dem Login kopieren

JavaScript-Code:

const myInput = document.getElementById('myInput');
myInput.addEventListener('focus', function() {
  console.log('Input获得焦点');
});
const myDiv = document.querySelector('div');
myDiv.addEventListener('focus', function() {
  console.log('Div获得焦点');
});
Nach dem Login kopieren

Ergebnis:
Wenn das Textfeld den Fokus erhält, wird in der Konsole nur „Eingabe erhält Fokus“ ausgegeben, aber „Div erhält Fokus“ wird nicht ausgegeben. Weil das Fokusereignis nicht zum übergeordneten Element div übergeht.

  1. Lade- und Entladeereignisse
    Die Lade- und Entladeereignisse sind Ereignisse, die ausgelöst werden, nachdem die Seite oder Ressource geladen wurde. Diese Ereignisse unterstützen kein Bubbling. Das heißt, wenn ein Lade- oder Entladeereignis für ein untergeordnetes Element ausgelöst wird, wird das entsprechende Ereignis für das übergeordnete Element nicht ausgelöst.

HTML-Code:

<div>
  <img  src="/static/imghw/default1.png"  data-src="image.png"  class="lazy" id="myImage" alt="Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang" >
</div>
Nach dem Login kopieren

JavaScript-Code:

const myImage = document.getElementById('myImage');
myImage.addEventListener('load', function() {
  console.log('图片加载完成');
});
const myDiv = document.querySelector('div');
myDiv.addEventListener('load', function() {
  console.log('Div加载完成');
});
Nach dem Login kopieren

Ergebnis:
Wenn das Laden des Bildes abgeschlossen ist, wird in der Konsole nur „Laden des Bildes abgeschlossen“ ausgegeben und „Laden der Divs abgeschlossen“ wird nicht ausgegeben. Weil das Ladeereignis nicht zum übergeordneten Element div übergeht.

  1. Eingabe-, Auswahl- und Änderungsereignisse
    Eingabe-, Auswahl- und Änderungsereignisse sind Ereignisse, mit denen Änderungen im Wert von Formularelementen verarbeitet werden. Diese Ereignisse wirken sich nur auf das Element aus, dessen Wert sich tatsächlich geändert hat, und werden nicht auf das übergeordnete Element übertragen.

HTML-Code:

<input type="text" id="myInput">
Nach dem Login kopieren

JavaScript-Code:

const myInput = document.getElementById('myInput');
myInput.addEventListener('input', function() {
  console.log('输入框值改变');
});
const myForm = document.querySelector('form');
myForm.addEventListener('input', function() {
  console.log('表单值改变');
});
Nach dem Login kopieren

Ergebnis:
Wenn sich der Wert des Eingabefelds ändert, wird auf der Konsole nur „Wert des Eingabefelds geändert“ ausgegeben, nicht jedoch „Formwert geändert“. Ausgabe. Weil das Eingabeereignis nicht in die übergeordnete Elementform übergeht.

  1. Submit- und Reset-Ereignisse
    Submit- und Reset-Ereignisse sind Ereignisse, die ausgelöst werden, wenn ein Formular gesendet und zurückgesetzt wird. Diese Ereignisse können nur auf das Formularelement selbst angewendet werden und werden nicht auf übergeordnete Elemente übertragen.

HTML-Code:

<form id="myForm">
  <input type="submit" value="提交">
</form>
Nach dem Login kopieren

JavaScript-Code:

const myForm = document.getElementById('myForm');
myForm.addEventListener('submit', function(event) {
  event.preventDefault();
  console.log('表单已提交');
});
const myDiv = document.querySelector('div');
myDiv.addEventListener('submit', function() {
  console.log('Div提交');
});
Nach dem Login kopieren

Ergebnis:
Wenn auf die Schaltfläche „Senden“ geklickt wird, wird in der Konsole nur „Form Submitted“ ausgegeben, „Div Submitted“ jedoch nicht. Weil das Submit-Ereignis nicht zum übergeordneten Element div übergeht. Beachten Sie, dass wir im Beispiel das standardmäßige Übermittlungsverhalten des Formulars durch die Methode event.preventDefault() verhindern.

  1. Scroll-Ereignis
    Scroll-Ereignis ist ein Ereignis, das beim Scrollen ausgelöst wird. Dieses Ereignis unterstützt kein Bubbling, was bedeutet, dass beim Scrollen eines Elements das Scroll-Ereignis für das übergeordnete Element nicht ausgelöst wird.

HTML-Code:

<div style="height: 100px; width: 100px; overflow: auto;">
  <p>这是一段很长的文本</p>
</div>
Nach dem Login kopieren

JavaScript-Code:

const myDiv = document.querySelector('div');
myDiv.addEventListener('scroll', function() {
  console.log('滚动');
});
Nach dem Login kopieren

Ergebnis:
Wenn das Div gescrollt wird, wird „scroll“ nur in der Konsole ausgegeben und nicht zum oberen Element gesprudelt.

  1. Mouseenter- und Mouseleave-Ereignisse
    Mouseenter- und Mouseleave-Ereignisse sind Ereignisse, die ausgelöst werden, wenn die Maus ein Element betritt und verlässt. Diese Ereignisse unterstützen kein Bubbling, was bedeutet, dass das entsprechende Ereignis im übergeordneten Element nicht ausgelöst wird, wenn die Maus ein Element betritt oder verlässt.

HTML-Code:

<div id="myDiv" style="background-color: yellow; width: 100px; height: 100px;">
  <p>鼠标进入这个div</p>
</div>
Nach dem Login kopieren

JavaScript-Code:

const myDiv = document.getElementById('myDiv');
myDiv.addEventListener('mouseenter', function() {
  console.log('鼠标进入div');
});
const myBody = document.querySelector('body');
myBody.addEventListener('mouseenter', function() {
  console.log('鼠标进入body');
});
Nach dem Login kopieren

Ergebnis:
Wenn die Maus das Div betritt, wird in der Konsole nur „Maus betritt Div“ ausgegeben, aber „Maus betritt Körper“ wird nicht ausgegeben.

  1. Kontextmenü-Ereignis
    Kontextmenü-Ereignis ist ein Ereignis, das ausgelöst wird, wenn mit der rechten Maustaste geklickt wird. Dieses Ereignis unterstützt kein Bubbling. Wenn Sie also mit der rechten Maustaste auf ein Element klicken, wird das Kontextmenüereignis für das übergeordnete Element nicht ausgelöst.

HTML-Code:

<div id="myDiv" style="background-color: yellow; width: 100px; height: 100px;"></div>
Nach dem Login kopieren

JavaScript-Code:

const myDiv = document.getElementById('myDiv');
myDiv.addEventListener('contextmenu', function(event) {
  event.preventDefault();
  console.log('右键点击');
});
const myBody = document.querySelector('body');
myBody.addEventListener('contextmenu', function() {
  console.log('右键点击body');
});
Nach dem Login kopieren

Ergebnis:
Wenn Sie mit der rechten Maustaste auf das Div klicken, wird in der Konsole nur „Rechtsklick“ ausgegeben, aber „Rechtsklick auf den Körper“. nicht ausgegeben werden. Beachten Sie, dass wir im Beispiel verhindern, dass das Standardkontextmenü über die Methode event.preventDefault() angezeigt wird.

3. Zusammenfassung
Bubble-Ereignisse sind eine Methode zur Ereignisübermittlung, die schrittweise Ereignisse von untergeordneten Elementen zu übergeordneten Elementen im DOM-Baum auslöst, aber es gibt auch einige spezielle Ereignisse, die das Bubbling nicht unterstützen. Dieser Artikel analysiert Ereignisse, die das Bubbling nicht unterstützen, anhand spezifischer Codebeispiele und hofft, den Lesern dabei zu helfen, die Einschränkungen von Bubbling-Ereignissen zu verstehen.

Das obige ist der detaillierte Inhalt vonKeine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Analysieren Sie die Vor- und Nachteile der statischen Positionierungstechnologie Analysieren Sie die Vor- und Nachteile der statischen Positionierungstechnologie Jan 18, 2024 am 11:16 AM

Analyse der Vorteile und Grenzen der statischen Positionierungstechnologie Mit der Entwicklung moderner Wissenschaft und Technologie ist die Positionierungstechnologie zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Als eine davon hat die statische Positionierungstechnologie ihre einzigartigen Vorteile und Grenzen. In diesem Artikel wird eine eingehende Analyse der statischen Positionierungstechnologie durchgeführt, um ihren aktuellen Anwendungsstatus und zukünftige Entwicklungstrends besser zu verstehen. Werfen wir zunächst einen Blick auf die Vorteile der statischen Positionierungstechnologie. Die statische Positionierungstechnologie erreicht die Bestimmung von Positionsinformationen durch Beobachtung, Messung und Berechnung des zu positionierenden Objekts. Im Vergleich zu anderen Positionierungstechnologien

Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang Keine Unterstützung für Bubbling-Ereignisse: Einschränkungen und Umfang Jan 13, 2024 pm 12:51 PM

Das Bubbling-Ereignis (BubblingEvent) bezieht sich auf eine Ereigniszustellungsmethode, die Schritt für Schritt von untergeordneten Elementen zu übergeordneten Elementen im DOM-Baum ausgelöst wird. In den meisten Fällen sind Bubbling-Ereignisse sehr flexibel und skalierbar, es gibt jedoch einige Sonderfälle, in denen Ereignisse das Bubbling nicht unterstützen. 1. Welche Ereignisse unterstützen das Sprudeln nicht? Obwohl die meisten Ereignisse das Blasen unterstützen, gibt es einige Ereignisse, die das Blasen nicht unterstützen. Im Folgenden sind einige häufige Ereignisse aufgeführt, die das Blasen nicht unterstützen: Fokus- und Unschärfeereignisse werden geladen und entladen

Was sind die gängigen Methoden, um Blasenbildungsereignisse zu verhindern? Was sind die gängigen Methoden, um Blasenbildungsereignisse zu verhindern? Feb 19, 2024 pm 10:25 PM

Welche Befehle werden häufig verwendet, um Blasenbildung zu verhindern? Bei der Webentwicklung stoßen wir oft auf Situationen, in denen wir mit Event-Bubbling umgehen müssen. Wenn ein Ereignis für ein Element ausgelöst wird, beispielsweise ein Klickereignis, löst auch das übergeordnete Element dasselbe Ereignis aus. Dieses Verhalten der Ereigniszustellung wird als Event-Bubbling bezeichnet. Manchmal möchten wir verhindern, dass ein Ereignis sprudelt, sodass das Ereignis nur auf dem aktuellen Element ausgelöst wird und verhindert wird, dass es an übergeordnete Elemente weitergeleitet wird. Um dies zu erreichen, können wir einige allgemeine Anweisungen verwenden, die Blasenereignisse verhindern. event.stopPropa

Welche Ereignisse können nicht in die Luft sprudeln? Welche Ereignisse können nicht in die Luft sprudeln? Nov 20, 2023 pm 03:00 PM

Die Ereignisse, die nicht sprudeln können, sind: 1. Fokusereignis; 3. Scrollereignis; 5. Mouseover- und Mouseout-Ereignis; ; 9. DOMContentLoaded-Ereignis; 10. Ausschneiden, Kopieren und Einfügen von Ereignissen usw.

Was bedeuten sprudelnde Ereignisse? Was bedeuten sprudelnde Ereignisse? Feb 19, 2024 am 11:53 AM

Bubbling-Ereignisse bedeuten, dass in der Webentwicklung ein Ereignis, das für ein Element ausgelöst wird, an die oberen Elemente weitergegeben wird, bis es das Dokumentstammelement erreicht. Diese Ausbreitungsmethode ähnelt einer Blase, die allmählich vom Boden aufsteigt, und wird daher als Blasenereignis bezeichnet. In der tatsächlichen Entwicklung ist es sehr wichtig zu wissen und zu verstehen, wie Bubbling-Ereignisse funktionieren, um Ereignisse richtig zu handhaben. Im Folgenden werden das Konzept und die Verwendung von Bubbling-Ereignissen anhand spezifischer Codebeispiele ausführlich vorgestellt. Zuerst erstellen wir eine einfache HTML-Seite mit einem übergeordneten Element und drei untergeordneten Elementen

Warum sprudeln Ereignisse nicht in die Luft? Warum sprudeln Ereignisse nicht in die Luft? Jan 13, 2024 am 08:50 AM

Warum kommt es in manchen Fällen nicht zu Ereignissen? Ereignis-Bubbling bedeutet, dass, wenn ein Ereignis für ein Element ausgelöst wird, sich das Ereignis ausgehend vom innersten Element nach oben ausbreitet, bis es an das äußerste Element weitergeleitet wird. In einigen Fällen kann das Ereignis jedoch nicht sprudeln, d. h. das Ereignis wird nur auf dem ausgelösten Element verarbeitet und nicht an andere Elemente weitergegeben. In diesem Artikel werden einige häufige Situationen vorgestellt, erläutert, warum Ereignisse nicht in die Blase gelangen, und spezifische Codebeispiele bereitgestellt. Verwenden Sie das Ereigniserfassungsmuster: Die Ereigniserfassung ist eine weitere Möglichkeit der Ereignisbereitstellung im Gegensatz zum Ereignis-Bubbling.

Einschränkungen von C++-Vorlagen und wie können diese umgangen werden? Einschränkungen von C++-Vorlagen und wie können diese umgangen werden? Jun 02, 2024 pm 08:09 PM

Einschränkungen von C++-Vorlagen und wie man sie umgeht: Code-Aufblähung: Vorlagen generieren mehrere Funktionsinstanzen, die durch Optimierer, variable Vorlagenparameter und bedingte Kompilierung zur Kompilierungszeit umgangen werden können. Lange Kompilierungszeit: Vorlagen werden zur Kompilierungszeit instanziiert, wodurch die Definition von Vorlagenfunktionen in Header-Dateien vermieden werden kann, sie nur bei Bedarf instanziiert werden und die PIMPL-Technologie verwendet wird, um sie zu vermeiden. Typlöschung: Vorlagen löschen Typinformationen zur Kompilierungszeit, was durch Vorlagenspezialisierung und Laufzeittypinformationen (RTTI) umgangen werden kann.

Beherrschen Sie den allgemeinen Event-Bubbling-Mechanismus in JavaScript Beherrschen Sie den allgemeinen Event-Bubbling-Mechanismus in JavaScript Feb 19, 2024 pm 04:43 PM

Häufige Bubbling-Ereignisse in JavaScript: Um die Bubbling-Eigenschaften allgemeiner Ereignisse zu beherrschen, sind spezifische Codebeispiele erforderlich. Einführung: In JavaScript bedeutet Event-Bubbling, dass das Ereignis vom Element mit der tiefsten Verschachtelungsebene zum äußeren Element weitergegeben wird, bis es weitergegeben wird Das äußerste übergeordnete Element. Das Verstehen und Beherrschen häufiger Bubbling-Ereignisse kann uns dabei helfen, die Benutzerinteraktion und die Ereignisbehandlung besser zu bewältigen. In diesem Artikel werden einige häufig auftretende Blasenereignisse vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern. 1. Klicken Sie auf Ereignis (klicken Sie auf

See all articles