John 'Mark' Smith John 'Mark' Smith - 2 years ago 164
Javascript Question

Expand jsTree node when parent is clicked

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:

enter image description here

I want to be able to expand / collapse by clicking the node name too:

enter image description here

The code I am using is simple; I have not altered the javascript for jsTree:

<ul id="tree">
<ul id="tree">
<li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>

Answer Source

Just add an event listener in your html file and call the toggle_node function. This code below listens for a single click.

  $('#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 = $("li");
  var node = $('#jstree_div').get_node(li[0].id);


Hope that helps.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download