jstree的问题可以扩展没有子节点的节点

TiG*_*iGi 5 jquery expand children nodes jstree

我正在使用带有ajax的jstree,我看到我的所有节点都有箭头来扩展它,甚至那些没有子节点的节点.在jstree http://www.jstree.com/demo的演示页面上,情况并非如此.我没有在演示代码上看到与我不同的东西,它是否来自服务器?我有一个参数来响应"getChildren"方法在jstree上说"这一个,没有孩子,不能启用它"吗?

有谁知道它来自哪里?我该怎么做才能解决这个问题?

因为当我使用contextmenu插件的复制/粘贴功能时似乎是个问题.当我粘贴一个没有子节点但尚未打开的节点(新父节点)时(因此没有加载子节点),除了获取子节点的请求(如果我点击打开节点)没有任何明显的返回.并且它不执行move_node函数.

编辑:我从contextmenu"添加"有同样的问题

有人可以帮帮我吗?

谢谢

Ste*_*ger 9

从jsTree文档:

http://www.jstree.com/documentation/html_data
Run Code Online (Sandbox Code Playgroud)

将根据节点结构应用三个类中的一个:

<li class="[ jstree-open | jstree-closed | jstree-leaf ]"> 
Run Code Online (Sandbox Code Playgroud)

Jonathan Stowell是对的,但将attr.class设置为"jstree-leaf"将不起作用(至少不是最新版本).

但是"open"和"closed"让我想起了node.state,所以我试过了,结果发现你设置了node.在JSON序列化类中声明为"leaf",它将是不可扩展的.

  • 设置"状态":"叶子"为我工作.谢谢! (2认同)

Jon*_*ell 4

我将该jstree-leaf类添加到attr没有子节点的属性中。

attr: { "class" : "jstree-leaf" }
Run Code Online (Sandbox Code Playgroud)

然后,这将设置您需要的 CSS 类,使其不具有扩展功能。