jsTree 3-选择动态加载树的下一个/上一个节点

jsTree 3 - select next / previous node of dynamically loaded tree

本文关键字:下一个 上一个 节点 选择 动态 加载 jsTree      更新时间:2023-09-26

我有一个带有延迟加载的jsTree。我希望能够使用外部函数选择下一个和上一个节点。api建议tree.get_next_dom(),但这似乎只适用于已经加载的节点,而不是那些可能需要先加载的节点。

$("[href='#next']").click(function () {
    var tree = $('#container').jstree(true),
        curr = tree.get_selected(false);
    tree.deselect_all();
    var n = tree.get_next_dom(curr);
    tree.select_node(n);
});

有关显示懒惰负载的示例,请参阅full-fiddle。。http://jsfiddle.net/6L7twnka/3/

因此,"下一步"将查看节点是否有子节点,然后展开它,在需要时加载。Previous必须查看get_prev_dom,然后展开它,然后可能展开其中的所有最后节点(递归),以便将选择放在最直接的前一个节点上。我试着这么做有点不知所措。

也许我已经解决了,但我在这里留下一个建议。在方法调用"tree.deselect_all();"之后,您将调用"tree.open_aall()"方法。

$ ("[href = '# next']"). click (function () {
    var tree = $ ('# container'). jstree (true)
    curr = tree.get_selected (false);
    tree.deselect_all ();
    tree.open_all ();
    var n = tree.get_next_dom (curr);
    tree.select_node (n);
});

真诚,

Charles Oliveira