我正在使用 jstree 1.0,除了维护页面之间的树状态外,一切都很好。
代码是:
$(document).ready(function(){
$("#treeview").jstree({
"themes" : {
"theme" : "default",
"dots" : false,
"icons" : false
},
"cookies": { "cookie_options" : { path : "/" } },
"ui" : {
"selected_parent_close" : "false"
},
"core": {
"animation": 500
},
"plugins" : [ "themes", "html_data", "ui", "cookies" ]
}).bind("select_node.jstree", function(e, data)
{
var href = data.rslt.obj.children("a").attr("href");
$("#contents").load(href);
if (Right(window.location.href,href.length) == [href]) {
return;
}
else {
window.location=[href];
}
})
});
当我检查实际的 cookie 时,它们是空的,我不确定为什么不这样做。树项目链接到其他页面的事实似乎意味着树在接收到单击 LI 的事件之前导航离开,因此没有任何内容写入 cookie。我提到了树代码的另一个stackoverflow答案。我为每个 LI 使用一个 ID。
如果您可以在此处看到问题以及如何将树状态信息写入 cookie,请告诉我。