


So lösen Sie das Problem, dass das Hinzufügen untergeordneter Knoten immer wiederholt wird, wenn zTree asynchron geladen wird
Dieses Mal zeige ich Ihnen, wie Sie das Problem lösen können, dass das Hinzufügen von untergeordneten Knoten immer wiederholt wird, wenn zTree asynchron geladen wird. Was sind? die Vorsichtsmaßnahmen? Das Folgende ist ein praktischer Fall.
zTree ist ein multifunktionales „Baum-Plug-in“, das von jQuery implementiert wird. In diesem Artikel werde ich das Duplizierungsproblem beim Hinzufügen untergeordneter Knoten beim asynchronen Laden von jQuery zTree erläutern. Freunde, die es benötigen, können darauf verweisen
Einführung in zTree
zTree ist ein multifunktionales „Baum-Plug-in“, das mit jQuery implementiert wird. Hervorragende Leistung, flexible Konfiguration und Kombination mehrerer Funktionen sind die größten Vorteile von zTree.
zTree ist Open Source und freie Software (MIT-Lizenz). Wenn Sie sich für zTree interessieren oder die Weiterentwicklung von zTree finanzieren möchten, können Sie eine Spende tätigen.
zTree v3.0 unterteilt den Kerncode nach Funktionen. Unnötiger Code muss nicht geladen werden
Übernimmt Lazy-Loading-Technologie. Zehntausende Knoten können problemlos geladen werden, selbst unter IE6 kann grundsätzlich ein sofortiges Töten erreicht werden
Kompatibel mit IE, Firefox, Chrome, Opera, Safari und anderen Browsern
-
Unterstützt JSON-Daten
Unterstützt statisches und asynchrones Ajax-Laden von Knotendaten
Unterstützt alle Skin-/ Benutzerdefiniertes Symbol (verlassen Sie sich auf CSS)
Unterstützt eine äußerst flexible Kontrollkästchen- oder Optionsauswahlfunktion
Bietet eine Vielzahl von Ereignissen Antwortrückrufe
Flexible Bearbeitungsfunktionen (Hinzufügen/Löschen/Ändern/Überprüfen), Sie können Knoten nach Belieben ziehen und ablegen, und Sie können mehrere Knoten per Drag & Drop ziehen
Auf einer Seite können mehrere Tree-Instanzen gleichzeitig generiert werden
Einfache Parameterkonfiguration, um flexible und veränderbare Funktionen zu erreichen
Ursprüngliche Frage
//添加结点, 产品和版本 function addNode(event) { rMenu.css({ "visibility": "hidden" }); var treeNode = zTree.getSelectedNodes()[0]; var pid; var nodeName; var treelevel; if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) { //添加产品结点 pid = 0; treeNode = null; treelevel = 1; } else if (treeNode) { //添加版本结点 pid = treeNode.id; treelevel = 2; } $.post( "AddNode.action", { type: treelevel, id: pid }, function(nodeIdAndName) { var params = /([^\|]+)\|([^\|]+)/.exec(nodeIdAndName); if (!((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.open)) { zTree.expandNode(treeNode, true); } treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); }); }
Als ich ursprünglich untergeordnete Knoten direkt hinzugefügt habe und der übergeordnete Knoten nicht erweitert wurde, würden zwei identische untergeordnete Knoten hinzugefügt (die Zum ersten Mal überprüfte ich, ob der übergeordnete Knoten erweitert wurde, aber es stellte sich heraus, dass beim Erweitern des übergeordneten Knotens zwei identische untergeordnete Knoten hinzugefügt wurden (wie kann dieses Problem gelöst werden)?
Methode 1
Ändern Sie die Frage
if (!((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.open)) { zTree.expandNode(treeNode, true); } treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
in
if(!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) { treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); } else if(treeNode.open) { if(treeNode.isParent) { zTree.reAsyncChildNodes(treeNode, "refresh"); } else { treeNode.isParent=true; zTree.reAsyncChildNodes(treeNode, "refresh"); } } else { zTree.expandNode(treeNode, true); treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); }
. Gelöst, aber wurde es optimiert? Ich habe das Gefühl, dass es nach der Änderung zu viele Codekategorien gibt
Der beste Weg
Es scheint nicht so problematisch zu sein, oder? ? Ich habe vor zwei Tagen eine ähnliche Frage beantwortet.
1. Nachdem Sie zum Hinzufügen eines untergeordneten Knotens geklickt haben, senden Sie Ajax direkt in den Hintergrund, um die Daten zu speichern und das Erfolgsereignis zu erfassen.
2. Wenn Ajax erfolgreich ist, können Sie treeNode.zAsync verwenden Attribut, um zu wissen, ob der übergeordnete Knoten asynchron geladen wurde. Wenn es falsch ist, wird reAsyncChildNodes direkt aktualisiert. Wenn es wahr ist, verwenden Sie addN...
if ((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.zAsync) treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); else zTree.reAsyncChildNodes(treeNode, "refresh");
Ich glaube, Sie haben den Fall in diesem Artikel gelesen. Nachdem Sie die Methode gemeistert haben, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten!
Empfohlene Lektüre:
So entdecken Sie versteckte Elemente im Leerraum
So erreichen Sie eine nicht aktualisierungsfreie Verknüpfung von Drop-Down-Boxen mit Ajax
Ausführliche Erklärung für keine neue Konstruktion
jQuery-Implementierung der Drop-Down-Menünavigation
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass das Hinzufügen untergeordneter Knoten immer wiederholt wird, wenn zTree asynchron geladen wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer bevorzugen im modernen Leben zunehmend das elektronische Ökosystem der Xiaomi-Smart-Home-Vernetzung. Nach der Verbindung mit der Mijia-APP können Sie die angeschlossenen Geräte problemlos mit Ihrem Mobiltelefon steuern. Viele Benutzer wissen jedoch immer noch nicht, wie sie Xiaomi hinzufügen können Wenn Sie die App zu Hause verwenden, erfahren Sie in diesem Tutorial die spezifischen Verbindungsmethoden und -schritte, in der Hoffnung, allen Bedürftigen zu helfen. 1. Nachdem Sie die Xiaomi-App heruntergeladen haben, erstellen Sie ein Xiaomi-Konto oder melden Sie sich an. 2. Methode zum Hinzufügen: Nachdem das neue Gerät eingeschaltet ist, bringen Sie das Telefon in die Nähe des Geräts und schalten Sie den Xiaomi-Fernseher ein. Unter normalen Umständen wird eine Verbindungsaufforderung angezeigt. Wählen Sie „OK“, um den Geräteverbindungsvorgang zu starten. Wenn keine Aufforderung erscheint, können Sie das Gerät auch manuell hinzufügen. Die Methode ist: Klicken Sie nach dem Aufrufen der Smart Home-App auf die 1. Schaltfläche unten links

Wenn wir einen Computer kaufen, entscheiden wir uns möglicherweise nicht unbedingt für eine große Festplatte. Wenn wir zu diesem Zeitpunkt eine neue Festplatte zu win11 hinzufügen möchten, können wir zuerst die neue Festplatte installieren, die wir gekauft haben, und dann Partitionen zum Computer hinzufügen. Anleitung zum Hinzufügen einer neuen Festplatte in Win11: 1. Zuerst zerlegen wir den Host und finden den Steckplatz der Festplatte. 2. Nachdem wir es gefunden haben, schließen wir zunächst das „Datenkabel“ an, das normalerweise eine narrensichere Konstruktion hat. Wenn es nicht eingeführt werden kann, kehren Sie einfach die Richtung um. 3. Anschließend stecken Sie die neue Festplatte in den Festplattenschacht. 4. Verbinden Sie nach dem Einstecken das andere Ende des Datenkabels mit der Hauptplatine des Computers. 5. Nachdem die Installation abgeschlossen ist, können Sie es wieder in den Host einsetzen und einschalten. 6. Nach dem Booten klicken wir mit der rechten Maustaste auf „Dieser Computer“ und öffnen „Computerverwaltung“. 7. Klicken Sie nach dem Öffnen in der unteren linken Ecke auf „Datenträgerverwaltung“. 8. Dann können Sie rechts klicken

In Win11 können wir Software oder Dateien schnell auf dem Desktop starten, indem wir Desktop-Verknüpfungen hinzufügen, und wir müssen zum Betrieb nur mit der rechten Maustaste auf die erforderlichen Dateien klicken. Fügen Sie in Win11 eine Desktop-Verknüpfung hinzu: 1. Öffnen Sie „Dieser PC“ und suchen Sie die Datei oder Software, zu der Sie eine Desktop-Verknüpfung hinzufügen möchten. 2. Nachdem Sie es gefunden haben, klicken Sie mit der rechten Maustaste, um es auszuwählen, und klicken Sie auf „Weitere Optionen anzeigen“. 3. Wählen Sie dann „Senden an“ – „Desktop-Verknüpfung“. 4. Nachdem der Vorgang abgeschlossen ist, finden Sie die Verknüpfung auf dem Desktop.

So fügen Sie ein PolygonMainnet-Netzwerk hinzu. Um MATIC (Polygon) mit Metamask zu verwenden, müssen Sie ein privates Netzwerk namens „PolygonMainnet“ hinzufügen. Die Übertragung mit der falschen Netzwerkadresse kann zu Problemen führen. Stellen Sie daher sicher, dass Sie das Netzwerk „PolygonMainnet“ verwenden, bevor Sie von $MATIC übertragen. Das Metamask-Wallet ist standardmäßig mit dem Ethereum-Mainnet verbunden, aber wir können einfach „PolygonMainnet“ hinzufügen und $MATIC verwenden. Nur ein paar einfache Schritte zum Kopieren und Einfügen, und schon sind Sie fertig. Klicken Sie zunächst im Metamask-Wallet auf die Netzwerkoption in der oberen rechten Ecke und wählen Sie „C

Wie füge ich Bildern in Vue Wasserzeichen hinzu? Vue ist ein beliebtes JavaScript-Framework, das häufig zum Erstellen von Webanwendungen verwendet wird. Manchmal müssen wir Bildern in Vue-Anwendungen Wasserzeichen hinzufügen, um das Urheberrecht der Bilder zu schützen oder die Erkennbarkeit der Bilder zu erhöhen. In diesem Artikel stelle ich Ihnen eine Methode zum Hinzufügen von Wasserzeichen zu Bildern in Vue vor und stelle entsprechende Codebeispiele bereit. Der erste Schritt besteht darin, eine Drittanbieterbibliothek zum Hinzufügen von Wasserzeichen zu Vue einzuführen. Es wird empfohlen, Watermarkj zu verwenden

Die Chrome-Erweiterung von Tampermonkey ist ein Plug-in zur Benutzerskriptverwaltung, das die Benutzereffizienz und das Surferlebnis durch Skripte verbessert. Wie fügt Tampermonkey neue Skripte hinzu? Wie lösche ich das Skript? Lassen Sie sich vom Editor unten die Antwort geben! So fügen Sie ein neues Skript zu Tampermonkey hinzu: 1. Öffnen Sie die GreasyFork-Webseite und geben Sie das Skript ein, dem Sie folgen möchten. 2. Wählen Sie ein Skript aus. Nachdem Sie die Skriptseite aufgerufen haben, wird die Schaltfläche zum Installieren dieses Skripts angezeigt. 3. Klicken Sie auf „Dieses Skript installieren“, um zur Installationsoberfläche zu gelangen. Klicken Sie einfach hier, um zu installieren. 4. Wir können die installierte Datei mit einem Klick im Installationsskript sehen.
![Outlook bleibt beim Hinzufügen eines Kontos hängen [Behoben]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Wenn beim Hinzufügen von Konten in Outlook Probleme auftreten, können Sie die folgenden Lösungen ausprobieren, um das Problem zu beheben. Normalerweise kann dies durch eine fehlerhafte Netzwerkverbindung, beschädigte Benutzerprofile oder andere vorübergehende Probleme verursacht werden. Mit den in diesem Artikel bereitgestellten Methoden können Sie diese Probleme leicht lösen und sicherstellen, dass Ihr Outlook normal ausgeführt werden kann. Outlook bleibt beim Hinzufügen eines Kontos hängen Wenn Ihr Outlook beim Hinzufügen eines Kontos hängen bleibt, verwenden Sie die unten aufgeführten Korrekturen: Trennen Sie die Internetverbindung und stellen Sie sie wieder her. Deaktivieren Sie die Antivirensoftware vorübergehend. Erstellen Sie ein neues Outlook-Profil. Versuchen Sie, ein Konto im abgesicherten Modus hinzuzufügen. Deaktivieren Sie IPv6. Führen Sie die Reparatur des Microsoft Support and Recovery Assistant aus Office-Anwendung Outlook-Konto hinzufügen erforderlich

Das BSC-Netzwerk ist eine leistungsstarke Blockchain, die von der Kryptowährungsbörse Binance entwickelt wurde. Der vollständige englische Name lautet Binance Smart Chain. Die BSC-Blockchain ist mit dem EVM-Netzwerk kompatibel und kann daher über die MetaMask-Wallet aufgerufen und interagiert werden. Wie fügt das Little Fox Wallet das BSC-Netzwerk hinzu? Schauen wir uns das unten mit dem Herausgeber an. 1. MetaMask fügt das BSC-Netzwerk direkt hinzu. Öffnen Sie zunächst das MetaMask-Wallet, klicken Sie auf den Avatar in der oberen rechten Ecke – Einstellungen – Netzwerk und klicken Sie auf die Schaltfläche „Netzwerk hinzufügen“, um die Netzwerkeinstellungsseite des Little Fox Wallet aufzurufen Metamask verfügt über integrierte beliebte Blockchain-Netzwerke, einschließlich einer intelligenten Währungskette. Wir müssen nur BNBSmartCha bestellen
