views:

183

answers:

2

I'm using the jsTree jQuery plugin and want to execute code when the user double clicks a node.

I can't seem to get it to work. I found some documentation on a ondblclk event but it doesn't fire.

    browser.jstree(
            {
                plugins: ["themes", "json_data", "ui", "cookies"],
                callback:
                {
                    ondblclk: function (node, tree) {
                        if (!thisReportBrowserthis._isFoldersOnly) {
                            var f = node;
                        }
                    }
                }
            }
        );

How can I handle double click events with jstree?

A: 

It turns out I can do this:

jstree.bind("dblclick.jstree", function (event) {
   var node = $(event.target).closest("li");
   var data = node.data("jstree");
   // Do my action
});

Node contains the li that was clicked and data contains the metadata with my info in it.

GiddyUpHorsey
+1  A: 

'dblclick.jstree' doesn't exist in last version jsTree 1.0.

DoubleClick for node:

$("#yourtree").delegate("a","dblclick", function(e) {
  var idn = $(this).parent().attr("id").split("_")[1];
  alert(idn); //return NodeID    
});

Insert this if you want just dblclicked node

if (this.className.indexOf('icon') == -1) {  /* is the node clicked a leaf? */ }
artmatic