Javascript 如何在jstree中选择根节点?

Javascript 如何在jstree中选择根节点?,javascript,jquery,jstree,Javascript,Jquery,Jstree,我试图在我的jstree中嵌入一些功能,这取决于它是根节点还是子节点之一。 从jstree文档和我所经历的其他堆栈溢出帖子中,我现在能够正确地填充这些项,但是我在如何在select_节点条件下选择jstree的根节点方面遇到了障碍,如下面的代码片段。将单词root添加到select_node后正确吗?请告知。如果我必须调用get_parent并检查如何将根作为参数传递,则我的根项称为root。如有任何继续进行的指示,将不胜感激 $(".myjstree").on("select_node.jst

我试图在我的jstree中嵌入一些功能,这取决于它是根节点还是子节点之一。 从jstree文档和我所经历的其他堆栈溢出帖子中,我现在能够正确地填充这些项,但是我在如何在select_节点条件下选择jstree的根节点方面遇到了障碍,如下面的代码片段。将单词root添加到select_node后正确吗?请告知。如果我必须调用get_parent并检查如何将根作为参数传递,则我的根项称为root。如有任何继续进行的指示,将不胜感激

$(".myjstree").on("select_node.jstree.root", function (e, data){
// do stuff if this is my root node
});
侦听select_node.jstree.root无法按预期工作,因为它所做的只是为select_node.jstree创建一个额外的命名空间。有关详细信息,请参阅中的事件名称和命名空间部分。所有select_node.jstree事件仍会触发select_node.jstree.root事件

相反,您可以通过select_node.jstree中的data.selected属性检查是否选择了根节点。您还可以通过$'jstree.jstreetrue.get_node'root'与它交互,如下所示:

$'jstree'.jstree{ 核心:{ 数据:[ { id:'根', 文本:“根”, 状态:{opened:true}, 儿童:[ {id:'child-node-1',text:'child 1'}, {id:'child-node-2',text:'child 2'} ] } ] } }; $'jstree'.onchanged.jstree,函数e,数据{ 如果data.selected.length===1&&data.selected[0]==='root'{ 让root_node=$'jstree.jstreetrue.get_node'root'; console.logroot_节点; } }; @进口https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css;
谢谢你@Steve!你的例子很有帮助。