Javascript 在jstree动态菜单中如何创建切换链接
我使用jstree插件创建了一个动态菜单,这里我的问题是当我们单击parent1时切换菜单,然后子项将被打开,当我单击parent2 ie节点2时,我想关闭parent1。 如何实现这一点Javascript 在jstree动态菜单中如何创建切换链接,javascript,jstree,Javascript,Jstree,我使用jstree插件创建了一个动态菜单,这里我的问题是当我们单击parent1时切换菜单,然后子项将被打开,当我单击parent2 ie节点2时,我想关闭parent1。 如何实现这一点 node1 sub1 sub2parent sub1 sub2 sub3 sub3 node2 sub1 sub2 sub3 在这里,当我单击节点1时,所有子节点都可见。 当我单击节点2时,节点1子节点和
node1
sub1
sub2parent
sub1
sub2
sub3
sub3
node2
sub1
sub2
sub3
在这里,当我单击节点1时,所有子节点都可见。
当我单击节点2时,节点1子节点和note2子节点可见
我需要的是,当我单击节点2时,节点1应该关闭。您可以在打开事件之前收听
,然后关闭此时展开的所有内容。
检查演示-
这只适用于一个级别,但是如果有多个级别,那么它就不起作用了。当我单击具有更多链接的子父级时,所有的主prent都会关闭。因此,当你打开一个节点时,你想关闭什么?我得到了我使用的要求。on(“before_open.jstree”,function(e,data){var nodesToKeepOpen=[];//获取所有父节点以保持打开$('#'+data.node.id).父节点('.jstree node').each(function(){nodesToKeepOpen.push(this.id);})//添加当前节点以保持打开nodesToKeepOpen.push(data.node.id);//关闭所有其他节点$('.jstree node')。each(function(){if(nodestokeepon.indexOf(this.id)==-1){$(“#tree”).jstree().close_节点(this.id);})
.on("before_open.jstree", function(e, data) {
$('#tree').jstree().close_all();
});