


Analyse von Beispielen für das Bubbling von DOM-Ereignissen in JQuery_jquery
In diesem Artikel wird das Bubbling von DOM-Ereignissen in JQuery anhand von Beispielen analysiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Was sprudelt
Es kann mehrere Ereignisse auf der Seite geben und mehrere Elemente können auf dasselbe Ereignis reagieren. Angenommen, es gibt zwei Elemente auf der Webseite, ein Element ist im anderen Element verschachtelt und beide sind an Klickereignisse gebunden. Gleichzeitig ist das Klickereignis auch an das Körperelement gebunden.
<div id="content"> 外层div元素 <span>内层span元素</span> 外层div元素 </div>
<script type="text/javascript"> $(function(){ // 为span元素绑定click事件 $('span').bind("click",function(){ var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); }); // 为div元素绑定click事件 $('#content').bind("click",function(){ var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); }); // 为body元素绑定click事件 $("body").bind("click",function(){ var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script>
Wenn auf das interne Span-Element geklickt wird, dh das Klickereignis des Span-Elements ausgelöst wird, werden 3 Datensätze ausgegeben. Durch einfaches Klicken auf das innere Span-Element wird das Klickereignis ausgelöst, das an das äußere div-Element und das body-Element gebunden ist. Dies wird durch Event-Bubbling verursacht. Während Sie auf das span-Element klicken, klicken Sie auch auf das Element div, das das span-Element enthält, und auf das Element body, das das div-Element enthält. Jedes Element reagiert dann in einer bestimmten Reihenfolge auf das Klickereignis.
Das Klickereignis des-Elements „blubbert“ in der folgenden Reihenfolge.
1. Der Grund, warum es „Bubbling“ genannt wird, liegt darin, dass das Ereignis gemäß der DOM-Hierarchie weiterhin wie eine Blase nach oben steigt. Probleme durch Event-Bubbling Das Sprudeln von Ereignissen kann unerwartete Auswirkungen haben. Im obigen Beispiel wollten wir ursprünglich nur das Klickereignis des -Elements auslösen, aber gleichzeitig wurden auch die Klickereignisse des Ereignisobjekt Da IE-DOM und Standard-DOM Ereignisobjekte auf unterschiedliche Weise implementieren, wird es schwieriger, Ereignisobjekte in verschiedenen Browsern abzurufen. Um dieses Problem zu lösen, hat JQuery die erforderlichen Erweiterungen und Kapselungen vorgenommen, sodass das Ereignisobjekt und einige Eigenschaften des Ereignisobjekts in jedem Browser problemlos abgerufen werden können. Die Verwendung von Ereignisobjekten in Programmen ist sehr einfach. Sie müssen der Funktion lediglich einen Parameter hinzufügen: Auf diese Weise wird beim Klicken auf das Element „Element“ das Ereignisobjekt erstellt. Auf dieses Ereignisobjekt kann nur von Ereignisbehandlungsfunktionen zugegriffen werden. Nachdem die Ereignisbehandlungsfunktion ausgeführt wurde, wird das Ereignisobjekt zerstört. Stoppen Sie das Sprudeln von Ereignissen Das Stoppen des Event-Bubblings kann verhindern, dass Event-Handler anderer Objekte im Event ausgeführt werden. Die Methode stopPropagation() wird in JQuery bereitgestellt, um das Sprudeln von Ereignissen zu stoppen. Wenn auf das -Element geklickt wird, wird nur das Klickereignis auf dem -Element ausgelöst, nicht jedoch die Klickereignisse des Auf diese Weise wird beim Klicken auf das Element nur der entsprechende Inhalt und kein anderer Inhalt ausgegeben. Standardverhalten blockieren Elemente in Webseiten haben ihr eigenes Standardverhalten. Wenn Sie beispielsweise auf einen Hyperlink klicken, wird das Formular gesendet. Manchmal ist es erforderlich, das Standardverhalten von Elementen zu verhindern. In JQuery wird die Methode „preventDefault()“ bereitgestellt, um das Standardverhalten von Elementen zu verhindern. In Projekten ist es beispielsweise häufig erforderlich, das Formular zu überprüfen. Wenn auf die Schaltfläche „Senden“ geklickt wird, wird der Formularinhalt überprüft, z. B. ob es sich bei einem Element um ein Pflichtfeld handelt und ob ein Element 6 Zeichen lang ist usw. Wenn das Formular die Formularübermittlung nicht verhindert, wenn die Übermittlungsbedingungen erfüllt sind (Standardverhalten). Wenn der Benutzername leer ist und Sie auf die Schaltfläche „Senden“ klicken, erscheint eine Eingabeaufforderung und das Formular kann nicht gesendet werden. Das Absenden des Formulars ist erst nach Eingabe des Benutzernamens möglich. Es ist ersichtlich, dass die Methode „preventDefault()“ die Übermittlung des Formulars verhindern kann. Wenn Sie das Sprudeln und das Standardverhalten für das Ereignisobjekt gleichzeitig stoppen möchten, können Sie in der Ereignisbehandlungsfunktion false zurückgeben. Dies ist eine Kurzform zum Aufrufen der stopPapagation()-Methode und der PreventDefault()-Methode für das Ereignisobjekt. Im Formularbeispiel kann event.preventDefault(); umgeschrieben werden als: return false; Sie können event.stopPropaqation(); im Event-Bubbling-Beispiel auch umschreiben als: return false; Ereigniserfassung Ereigniserfassung und Ereignissprudeln sind zwei gegensätzliche Prozesse. Die Ereigniserfassung wird von oben nach unten ausgelöst. Noch ein Beispiel für ein Bubbling-Ereignis: Das Klickereignis eines Elements wird in der folgenden Reihenfolge erfasst. 1. Natürlich beginnt die Ereigniserfassung beim äußersten Element und geht dann zum innersten Element über. Daher wird das gebundene Klickereignis zuerst an das Leider unterstützen nicht alle gängigen Browser die Ereigniserfassung und dieser Fehler kann nicht mit JavaScript behoben werden. JQuery unterstützt keine Ereigniserfassung. Wenn Leser die Ereigniserfassung verwenden müssen, verwenden Sie bitte direkt natives JavaScript. Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.
2.
3.
$("element").bind("click",function(event){
//event : 事件对象
//...
});
$(function(){
// 为span元素绑定click事件
$('span').bind("click",function(event){
var txt = $('#msg').html() + "内层span元素被点击";
$('#msg').html(txt);
event.stopPropagation(); // 阻止事件冒泡
});
})
$('#content').bind("click",function(event){
var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>";
$('#msg').html(txt);
event.stopPropagation(); // 阻止事件冒泡
});
<form action="test.html">
用户名:<input type="text" id="username" />
<br/>
<input type="submit" value="提交" id="sub"/>
</form>
$(function(){
$("#sub").bind("click",function(event){
var username = $("#username").val(); //获取元素的值
if(username==""){ //判断值是否为空
$("#msg").html("<p>文本框的值不能为空.</p>"); //提示信息
event.preventDefault(); //阻止默认行为 ( 表单提交 )
}
})
})
2.
3.

Zu den zukünftigen Trends von Python und JavaScript gehören: 1. Python wird seine Position in den Bereichen wissenschaftlicher Computer und KI konsolidieren. JavaScript wird die Entwicklung der Web-Technologie fördern. Beide werden die Anwendungsszenarien in ihren jeweiligen Bereichen weiter erweitern und mehr Durchbrüche in der Leistung erzielen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
