我有一个延迟加载的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);
});
看一个显示懒惰负载的示例的完整小提琴.. http://jsfiddle.net/6L7twnka/3/
所以"接下来"将查看该节点是否有子节点然后展开它,如果需要则加载。以前必须查看get_prev_dom,然后展开它,然后可能展开其中的所有最后节点(递归),然后将选择放在最前一个节点上。我试图做这件事有点失落。
答案 0 :(得分:1)
也许我已经解决了,但我留下了一个建议。 方法调用“tree.deselect_all();”之后你调用“tree.open_all()”方法。
$ ("[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