Wie kann ich feststellen, ob jsTree vollständig geladen wurde?

Ich versuche, eine Funktion zu schreiben, die bestimmte Knoten in einem jsTree öffnet, aber ich habe ein Problem, bei dem die Funktion ausgeführt wird, bevor mein Basisbaum vom Ajax-Aufruf geladen wird. Wie kann ich feststellen, ob meine jstree-Daten geladen wurden und warten, bis der Ladevorgang abgeschlossen ist? Unten ist die Funktion, die ich zu verwenden versuche.

function openNodes(tree, nodes) {
    for (i in nodes) {
        $('#navigation').jstree("open_node", $(nodes[i]));
    }
}

Ich lade meinen ersten Baum mit dem folgenden Befehl

$("#navigation").jstree({
    "json_data": {
        "ajax": {
            "url": function(node) {
                var url;
                if (node == -1) {
                    url = "@Url.Action("BaseTreeItems", "Part")";
                } else {
                    url = node.attr('ajax');
                }
                return url;
            },
            "dataType": "text json",
            "contentType": "application/json charset=utf-8",
            "data": function(n) { return { id: n.attr ? n.attr("id") : 0, ajax: n.attr ? n.attr("ajax") : 0 }; },
            "success": function() {
            }
        }
    },
    "themes": { "theme": "classic" },
    "plugins": ["themes", "json_data", "ui"]
});

Antworten auf die Frage(7)

Ihre Antwort auf die Frage