Как прослушать двойной щелчок на jstree?

Как написать прослушиватель для события двойного щелчка на объекте jstree? (Например, я хотел бы дважды щелкнуть по узлу дерева и вставить его якорь href стоимостью в input поле в форме где-то.)

2 ответов


я использовал что-то вроде этого год назад, я не знаю, есть ли какие-либо изменения в текущей версии jstree :

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

узел : содержит li, который нажимается.

данные : содержит метаданные.


решение Nirmal работает, если вы нажмете В любом месте на jstree div. Я хотел включить двойной щелчок только на самих узлах, а не, например, на пробелах справа. изменение решения немного позволило это:

$('#jstree-div a').live('dblclick',function (e) {
    var node = $(e.target).closest("li");
    var type = node.attr('rel');
    var item = node[0].id;

    // do stuff...
});

Не уверен, почему атрибуты " rel " и " id " находятся в разных местах в результирующем узле, но он работает ;)