I am trying to implement a very simple tree using jsTree. I have found the documentation dense and overwhelming.
Right now, I expand / collapse a node by clicking the arrow shown here:
I want to be able to expand / collapse by clicking the node name too:
The code I am using is simple; I have not altered the javascript for jsTree:
<ul id="tree">
<li>
SubFolder1
<ul id="tree">
<li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>
</ul>
</li>
</ul>
$('#tree').on('select_node.jstree', function (e, data) {
data.instance.toggle_node(data.node);
});
That worked for me. oerls solution did not.
Just add an event listener in your html file and call the toggle_node
function. This code below listens for a single click.
$(document).ready(function(){
$('#jstree_div').on("select_node.jstree", function (e, data) { $('#jstree_div').toggle_node(data.node); });
}
If you want to listen for a double click you need another event listener, since jsTree does not support double click events yet.
$('#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)
});
Hope that helps.
$('#jstree').on("select_node.jstree", function (e, data) {
$('#jstree').jstree("toggle_node", data.node);
});
also this will work
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With