在加载jsTree树并恢复其状态后,我可以使用cookie来运行代码吗?

时间:2013-10-07 14:44:51

标签: jquery jstree

如何在树加载并且恢复到之前的状态后,在jsTree中运行一段代码? (我正在使用cookie插件。)

1 个答案:

答案 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'));
        }
    })