我有一个带有自定义树视图的页面。当一个节点展开时,它的子节点通过 jQuery Ajax 调用加载。
现在,我想保存树视图的当前状态,以便当用户离开并返回页面时,先前展开的树视图保持展开状态。
在类似的情况下,我使用这个 jQuery 插件将搜索查询、结果或表单数据等数据保存在 cookie 中:https ://github.com/carhartl/jquery-cookie
到目前为止,我可以看到两个选项:
- 保存展开的节点 ID 并从头开始重新加载树视图,但是:
- 可能有很多 Ajax 调用,
- 很难以正确的顺序进行调用(即在父级存在之前不要加载子级),
- 呼叫完成的等待时间
- 将包含树视图的整个元素保存到 cookie 中,但是:
- 可能是很多数据
- 在加载时将树视图 HTML 插入 DOM 时,可能难以将正确的 jQuery 事件附加到节点元素。
提前感谢您的任何想法!
克里斯