Как узнать, полностью ли загружен jsTree?

Я пытаюсь написать функцию, которая открывает определенные узлы в jsTree, но у меня возникла проблема, когда функция выполняется до того, как мое базовое дерево загружается из вызова ajax. Как я могу узнать, загружены ли мои данные jstree, и дождаться завершения загрузки. Ниже приведена функция, которую я пытаюсь использовать.

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

Я загружаю исходное дерево следующей командой

$("#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"]
});
21
задан PlTaylor 12 July 2012 в 13:45
поделиться