javascript - jsTree - 最后选择的节点突出显示问题

标签 javascript jquery jstree

我在我的 jsTree 中使用 cookies 插件来记住和恢复用户点击的最后一个节点。

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

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

有什么想法吗?

最佳答案

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

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

所以你会有一个类似这样的树配置:

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

发生了什么事?

这样做的原因是如果 jQuery cookies (库 jstree 用于编写其 cookie)没有设置路径,cookie 将相对于您所在的当前页面存储。

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

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

并且您想从 http://localhost/Home/ 开始导航至 http://localhost/Admin/通过点击 localhost_admin节点,您可能期望在到达 http://localhost/Admin/jstree_select cookie 将有 localhost_admin选对了吗?

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

通过将路径选项设置为 / ,我们确保所有页面只共享 1 个 cookie。

关于javascript - jsTree - 最后选择的节点突出显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038197/

相关文章:

javascript - 比较 2 个对象数组并过滤结果数组

javascript - 使用 Jquery 如何选择当前选定的输入元素之后的所有输入文本元素?

javascript - 如何使用 jstree v3 插件仅进行重新排序

javascript - jsTree - 当复选框为票证时调用函数并获取所有勾选的复选框

javascript - Phaser——如何检查 Sprite 是否在移动?

javascript - 如果选择了特定选项,则显示 TR 元素

javascript - 用不同的颜色制作一个闪烁的div

javascript - 我需要通过 ajax 将文件作为表单数据传递并从 php 读取?

javascript - jstree:创建一个新的子节点

javascript - 用 $watch 观看 Promise