JSTree: Расширить узел при щелчке одним кликом вместо двойного - PullRequest
8 голосов
/ 04 января 2011

Я не могу понять это на всю жизнь, но я пытаюсь настроить мое JSTree для переопределения события двойного щелчка, чтобы это было просто событие одного щелчка. Это что-то добавлено к конфигурации обратного вызова? Я не уверен, как это сделать, нужно ли мне редактировать исходный код JSTree? Документация здесь: http://docs.planbleu.org/modules/webportal/jquery/jsTree.v.0.9.5/documentation/#configuration

Я попытался изменить "ondblclk" на "click" в исходном коде, а затем добавить опцию обратного вызова "click" в настройках конфигурации, но ничего не получилось ... Я, вероятно, делаю это неправильно.

Ответы [ 4 ]

7 голосов
/ 19 января 2011

отправив это в функцию создания дерева, добился цели:

   onselect: function(n, t) {
         t.toggle_branch(n);
    },

(где t - ссылка на дерево)

6 голосов
/ 13 января 2011
$("#tree").bind("select_node.jstree", function (e, data) {
 $("#tree").jstree("toggle_node", data.rslt.obj);
 $("#tree").jstree("deselect_node", data.rslt.obj);
});

Это может привести вас в правильном направлении. Возможно, вам придется отфильтровать, какие из них расширять или нет, в зависимости от метаданных.

2 голосов
/ 10 августа 2016

Я нашел правильный ответ в вопросе для плагина на github.Приведенные выше ответы не работают.Это абсолютно работает и является исчерпывающим ответом о том, как вызвать плагин и как заставить его использовать расширение одним щелчком вместо двойного щелчка.

    $('#jstree')
        .on('click', '.jstree-anchor', function (e) {
            $(this).jstree(true).toggle_node(e.target);
        })
        .jstree()

Вот ссылка, по которой автор упоминает решение , если оно вам понадобится.

0 голосов
/ 04 июля 2019
  $fullIndex.on('select_node.jstree', function(e, data){
    data.instance.toggle_node(data.selected);
  })
  .jstree()
...