Как отменить выбор всех узлов в JSTree

Я строю дерево JS динамически.

Я удаляю узел, и когда это происходит, он выбирает вышеприведенный узел, и запускается событие "select_node".

Я хочу переопределить функциональность по умолчанию

 $('#treeViewContainer').css("height", 100px);
  treeView = $('#treeView1');
  treeView.bind('select_node.jstree', function (e, data) {
   }

Я пытался отменить выбор сразу после удаления узла, но срабатывает событие "select_node".

 if ($('#treeViewResults').length != 0)
 {
     treeView.jstree("delete_node", $('#treeViewResults'));
     $('#treeView1').jstree("deselect_all");
  }

Как пропустить событие 'select_node' после его запуска или отменить выбор всех узлов сразу после удаления узла перед запуском события 'select_node'.

Пожалуйста, предложите

1 ответ

Я также использую jsTree, чтобы показать структуру папок. Когда пользователь выбирает элемент в jsTree, в хосте вкладок открывается новая вкладка, подобная коду Visual Studio. Затем мне нужно выделить элемент jsTree, когда пользователь снова выбирает вкладку, например, код Visual Studio. Так что есть 2 сценария, чтобы завершить эту функциональность

1 - отменить выбор всех узлов вручную

$("#jsTree").jstree().deselect_all(true);

2 - выберите соответствующий пункт вручную

$("#jsTree").jstree().select_node('item id');

Я установил для свойства'select_prev_on_delete'значение false, которое по умолчанию равно true. И это решило проблему.

 $('#treeViewContainer').css("height", 100px);
  treeView = $('#treeView1');
  treeView.bind('select_node.jstree', function (e, data) {
   })
 .jstree({
            'json_data': {
                "data": treeData
            },
            'ui': {
                "select_limit": 1,
                "select_prev_on_delete": false
            },
Другие вопросы по тегам