【问题标题】:Expand jsTree node when parent is clicked单击父节点时展开 jsTree 节点
【发布时间】:2014-04-14 13:02:40
【问题描述】:
我正在尝试使用 jsTree 实现一个非常简单的树。我发现文档密集且压倒性的。
现在,我通过单击此处显示的箭头展开/折叠节点:
我也希望能够通过单击节点名称来展开/折叠:
我使用的代码很简单;我没有更改 jsTree 的 javascript:
<ul id="tree">
<li>
SubFolder1
<ul id="tree">
<li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>
</ul>
</li>
</ul>
【问题讨论】:
标签:
javascript
jquery
css
jstree
【解决方案1】:
$('#tree').on('select_node.jstree', function (e, data) {
data.instance.toggle_node(data.node);
});
这对我有用。 oerls 解决方案没有。
【解决方案2】:
只需在您的 html 文件中添加一个事件侦听器并调用 toggle_node 函数。下面的这段代码会监听一次点击。
$(document).ready(function(){
$('#jstree_div').on("select_node.jstree", function (e, data) { $('#jstree_div').toggle_node(data.node); });
}
如果你想监听双击,你需要另一个事件监听器,因为 jsTree 还不支持双击事件。
$('#jstree_div').on("dblclick",function (e) {
var li = $(e.target).closest("li");
var node = $('#jstree_div').get_node(li[0].id);
$('#jstree_div').toggle_node(node)
});
希望对您有所帮助。
【解决方案3】:
$('#jstree').on("select_node.jstree", function (e, data) {
$('#jstree').jstree("toggle_node", data.node);
});
这也行