如何在树加载并且恢复到之前的状态后,在jsTree中运行一段代码? (我正在使用cookie插件。)
答案 0 :(得分:0)
好吧,似乎我得到了一个功能性的解决方法......
通过绑定到select_node
事件而不是open_node
事件,您只能在打开最后一个节点后执行操作;这是因为在完全重新加载树之后,只有先前选择的节点(在浏览器刷新之前)才会被选中。
这是绑定代码。尝试一下,你会看到我的意思:
.bind("open_node.jstree", function(e, data){
console.log('tree opened node ' + data.rslt.obj.attr("url"));
var selectedNode = $('#tree').jstree("get_selected");
if(selectedNode != null)
{
console.log(selectedNode.attr('id'));
}
})
.bind("select_node.jstree", function (e, data) {
var a = $.jstree._focused().get_selected();
console.log('tree selected node ' + data.rslt.obj.attr("url"));
var selectedNode = $('#tree').jstree("get_selected");
if(selectedNode != null)
{
console.log(selectedNode.attr('id'));
}
})