我在我的 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/
节点 IDlocalhost_home
-
http://localhost/Admin/
节点 IDlocalhost_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/