Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Verwendung von jQuery-Live-Events

Detaillierte Erläuterung der Verwendung von jQuery-Live-Events

Jun 26, 2017 am 09:16 AM
jquery live 事件 使用 详解

Übersicht

jQuery fügt allen übereinstimmenden Elementen eine Ereignishandlerfunktion hinzu, auch wenn das Element später hinzugefügt wird.

Diese Methode ist im Grunde eine Variante der .bind()-Methode. Bei Verwendung von .bind() wird den vom Selektor zugeordneten Elementen ein Ereignishandler zugeordnet, später hinzugefügte Elemente jedoch nicht. Hierfür müssen Sie erneut .bind() verwenden. Beispielsweise kann

<body>
  <div class="clickme">Click here</div>
</body>
Nach dem Login kopieren

ein einfaches Klickereignis an dieses Element binden:

$(&#39;.clickme&#39;).bind(&#39;click&#39;, function() {
  alert("Bound handler called.");
});
Nach dem Login kopieren

Wenn auf das Element geklickt wird, wird ein Warnfeld angezeigt. Stellen Sie sich dann vor, dass danach ein weiteres Element hinzugefügt wird.

$(&#39;body&#39;).append(&#39;<div class="clickme">Another target</div>&#39;);
Nach dem Login kopieren
Nach dem Login kopieren

Obwohl dieses neue Element auch mit dem Selektor „.clickme“ übereinstimmen kann, hat das Klicken auf dieses Element keine Auswirkung, da dieses Element nach dem Aufruf von .bind() hinzugefügt wird.

.live() bietet eine Methode für diese Situation. Wenn wir das Klickereignis wie folgt binden:

$(&#39;.clickme&#39;).live(&#39;click&#39;, function() {
  alert("Live handler called."); 
});
Nach dem Login kopieren

und dann ein neues Element hinzufügen:

$(&#39;body&#39;).append(&#39;<div class="clickme">Another target</div>&#39;);
Nach dem Login kopieren
Nach dem Login kopieren

und dann auf das neue Element klicken, kann er trotzdem den Ereignishandler auslösen. Die Methode

Event Delegate

.live() kann für ein Element wirksam sein, das aufgrund der Verwendung der Ereignisdelegation nicht zum DOM hinzugefügt wurde: Der an das Vorgängerelement gebundene Ereignishandler kann dies tun Reagieren Sie auf Ereignisse, die bei Nachkommen ausgelöst werden. Der an .live() übergebene Event-Handler wird nicht an das Element gebunden, sondern als spezieller Event-Handler behandelt und an den Wurzelknoten des DOM-Baums gebunden. Wenn in unserem Beispiel auf ein neues Element geklickt wird, werden die folgenden Schritte ausgeführt:

generiert ein Klickereignis und übergibt es an

zur Verarbeitung

Da es kein Ereignishandler Direkt an

Dieser spezielle Ereignishandler ist standardmäßig daran gebunden .

Führen Sie die spezielle Funktion zur Verarbeitung von Klickereignissen aus, die an .live() gebunden ist.

Diese Ereignisbehandlungsfunktion erkennt zunächst das Ziel des Ereignisobjekts, um zu bestimmen, ob es fortfahren muss. Dieser Test wird implementiert, indem überprüft wird, ob $(event.target).closest('.clickme') ein passendes Element finden kann.

Wenn ein passendes Element gefunden wird, wird der ursprüngliche Event-Handler aufgerufen.

Da der Test in Schritt 5 oben nur durchgeführt wird, wenn das Ereignis eintritt, können jederzeit hinzugefügte Elemente auf dieses Ereignis reagieren.

Zusätzliche Hinweise

.live() ist zwar nützlich, kann .bind() jedoch aufgrund seiner speziellen Implementierung auf keinen Fall einfach ersetzen. Die Hauptunterschiede sind:

In jQuery 1.4 unterstützt die .live()-Methode benutzerdefinierte Ereignisse und unterstützt auch alle JavaScript-Ereignisse. In jQuery 1.4.1 gibt es sogar Unterstützung für Focus- und Blue-Ereignisse (zugeordnet zu den passenderen, sprudelnden Focusin- und Focusout-Ereignissen). Darüber hinaus wird in jQuery 1.4.1 auch Hover (zugeordnet zu „mouseenter mouseleave“) unterstützt. In jQuery 1.3.x werden jedoch nur JavaScript-Ereignisse und benutzerdefinierte Ereignisse unterstützt: click, dblclick, keydown, keypress, keyup, Mousedown, Mousemove, Mouseout, Mouseover und Mouseup.

.live() unterstützt Elemente, die durch DOM-Traversal gefunden werden, nicht vollständig. Stattdessen sollten Sie die Methode .live() immer direkt nach einem Selektor verwenden, wie im vorherigen Beispiel erwähnt.

Wenn eine Ereignisverarbeitungsfunktion mit .live() gebunden ist und Sie die Ausführung anderer Ereignisverarbeitungsfunktionen stoppen möchten, muss diese Funktion „false“ zurückgeben. Durch den einfachen Aufruf von .stopPropagation() wird dies nicht erreicht.

Weitere Informationen zur Ereignisbindung finden Sie in der Methode .bind().

In jQuery 1.4.1 kann .live() mehrere durch Leerzeichen getrennte Ereignisse akzeptieren und bietet ähnliche Funktionen wie .bind(). Beispielsweise können wir sowohl Mouseover- als auch Mouseout-Ereignisse „live“ binden, wie folgt:

$(&#39;.hoverme&#39;).live(&#39;mouseover mouseout&#39;, function(event) {
  if (event.type == &#39;mouseover&#39;) {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});
Nach dem Login kopieren

In jQuery 1.4.3: Sie können einen oder mehrere Ereignistypen an Zeichenfolgen und binden Datenzuordnung der Funktion, um sie auszuführen

$("a").live({
  click: function() {
    // do something on click
  },
  mouseover: function() {
    // do something on mouseover
  }
});
Nach dem Login kopieren

In jQuery 1.4 kann der Datenparameter verwendet werden, um zusätzliche Informationen an die Event-Handler-Funktion zu übergeben. Eine gute Verwendung ist die Bewältigung von Problemen, die durch Schließungen verursacht werden. Weitere Informationen finden Sie in der Diskussion zu .bind().

In jQuery 1.4 kann das Live-Ereignis an das DOM-Element „context“ anstelle des Standarddokumentstamms gebunden werden. Um diesen Kontext festzulegen, verwenden wir das zweite Argument der jQuery()-Funktion für ein einzelnes DOM-Element (anstelle einer jQuery-Sammlung oder eines jQuery-Selektors).

$(&#39;div.clickme&#39;, $(&#39;#container&#39;)[0]).live(&#39;click&#39;, function() {
  // Live handler called.
});
Nach dem Login kopieren

参数

type,[fn]String,FunctionV1.3

type:一个或多个事件类型,由空格分隔多个事件。

fn:要从每个匹配元素的事件中反绑定的事件处理函数

type,[data],falseString,Array,boolV1.4

type:一个或多个事件类型,由空格分隔多个事件。

data:传递给事件处理函数的附加参数

false:设置为false会使默认的动作失效。

eventStringV1.4.3

一个或多个事件类型的字符串和函数的数据映射来执行他们

示例

描述:

点击生成的p依然据有同样的功能。

HTML 代码:

<p>Click me!</p>
Nach dem Login kopieren

jQuery 代码:

$("p").live("click", function(){ $(this).after("<p>Another paragraph!</p>"); });
Nach dem Login kopieren

描述:

阻止默认事件行为和事件冒泡,返回 false

jQuery 代码:

$("a").live("click", function() { return false; });
Nach dem Login kopieren

描述:

仅仅阻止默认事件行为

jQuery 代码:

$("a").live("click", function(event){ event.preventDefault(); });
Nach dem Login kopieren

这是代码,用live绑定的事件不执行,但是创建的元素能添加进去。这是为什么

Detaillierte Erläuterung der Verwendung von jQuery-Live-Events

你的_html是字符串啊,你是不是要点击li触发事件?
那应该是

$(&#39;li&#39;).live(&#39;click&#39;,function(){....})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von jQuery-Live-Events. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
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)

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualität bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu ermöglichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne übermäßige Dekoration Es unterstützt außerdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Außerdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautstärke Passen Sie die Lautstärke entsprechend Ihrem Hörzustand an, um Hörschäden durch zu hohe Lautstärke zu vermeiden. Als nächstes lass mich dir helfen

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem täglichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten Übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer großen Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik hören möchten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch möglicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation Wählen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zunächst die benutzerdefinierte Installationsoption aus.

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zunächst können Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach „NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, öffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Erfahren Sie, wie Sie die neuen erweiterten Funktionen von iOS 17.4 „Schutz vor gestohlenen Geräten' nutzen. Erfahren Sie, wie Sie die neuen erweiterten Funktionen von iOS 17.4 „Schutz vor gestohlenen Geräten' nutzen. Mar 10, 2024 pm 04:34 PM

Apple hat am Dienstag das iOS 17.4-Update veröffentlicht, das eine Reihe neuer Funktionen und Korrekturen für iPhones bringt. Das Update enthält neue Emojis und EU-Nutzer können diese auch aus anderen App-Stores herunterladen. Darüber hinaus stärkt das Update auch die Kontrolle der iPhone-Sicherheit und führt weitere Einstellungsoptionen für den „Schutz gestohlener Geräte“ ein, um Benutzern mehr Auswahl und Schutz zu bieten. „iOS17.3 führt zum ersten Mal die Funktion „Schutz vor gestohlenen Geräten“ ein, die den vertraulichen Informationen der Benutzer zusätzliche Sicherheit verleiht. Wenn der Benutzer nicht zu Hause oder an anderen vertrauten Orten ist, erfordert diese Funktion, dass der Benutzer zum ersten Mal biometrische Informationen eingibt Zeit und nach einer Stunde müssen Sie Informationen erneut eingeben, um auf bestimmte Daten zuzugreifen und diese zu ändern, z. B. um Ihr Apple-ID-Passwort zu ändern oder den Schutz vor gestohlenen Geräten zu deaktivieren.

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

See all articles