Как прослушать двойной щелчок на jstree? - PullRequest
6 голосов
/ 09 мая 2011

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

Ответы [ 2 ]

8 голосов
/ 09 мая 2011

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

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

узел: Содержит li, по которому щелкают.

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

5 голосов
/ 13 мая 2013

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

$('#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' находятся в разных местах в результирующем узле, но это работает;)

...