jsTree - 上次选择的节点突出显示问题

时间:2011-11-07 14:56:09

标签: javascript jquery jstree

我在jsTree中使用cookies插件,以便记住并恢复用户点击的最后一个节点。

我的树的行为是在节点的双击上我将客户端重定向到我站点中的适当页面。

我希望在重定向后突出显示最后一个双击节点,但由于某种原因,我必须再次在同一节点上双击才能突出显示,它似乎是突出显示上一个选定节点而不是最后选择的节点。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

我们可能遇到同样的问题。将以下代码添加到您的jstree cookies config:

cookies: { cookie_options: { path: '/' } }

因此您将拥有与此类似的树配置:

$('.my-tree').jstree({
            plugins: ["html_data", "ui", "cookies"]
            cookies: { cookie_options: { path: '/' } }
    })

发生了什么事?

原因是如果jQuery cookies(图书馆jstree用来编写其cookie)没有设置路径,那么cookie将相对于您当前的页面进行存储。

因此,例如,如果您有两个节点(也是叶子/针):

    节点ID为http://localhost/Home/
  • localhost_home 节点ID为http://localhost/Admin/
  • localhost_admin

并且您希望通过点击http://localhost/Home/节点从http://localhost/Admin/导航到localhost_admin,当您到达http://localhost/Admin/ {时,您可能期望这样做{1}} Cookie会选择jstree_select吗?

这里真正发生的是现在存在2个独立的cookie。一个用于localhost_admin,另一个用于http://localhost/Home/,包含2个单独的值。

通过将路径选项设置为http://localhost/Admin/,我们确保在所有网页中只共享一个Cookie。

答案 1 :(得分:0)

查看auto_save之类的选项,因为我不确定jstree何时将jstree的状态保存到cookie中。当你双击

时可能不会

jstree cookie doc