我有一个带有延迟加载的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