Перемещение узла с одного Jstree на другое Jstree не работает - PullRequest
0 голосов
/ 24 февраля 2019

Предположим, что у нас есть 2 экземпляра jstree.Здесь n1, n2 узел от первого дерева и n3, n4 узел от второго дерева.Я хотел бы переместить / перетащить узел n2 в пределах n4.Но кажется, что метод move_node не запускается при перемещении узла на другой экземпляр дерева.

$('#A').jstree({
  "core" : {
    "check_callback" : true,
    "data" : [{"text":"Root 1","id":"n1"}, {"text":"Root 2","id":"n2"}]
    },
  plugins:['dnd'],
});
$('#B').jstree({
  "core" : {
    "check_callback" : true,
    "data" : [{"text":"Root 3","id":"n3"}, {"text":"Root 4","id":"n4"}]
    },
  plugins:['dnd'],
});

//setTimeout(function () {

var a = $('#A').on('move_node.jstree', function(e, data) {
  console.log('move success');
});

var b = $('#B').on('move_node.jstree', function(e, data) {
  console.log('move success');
});

//}, 500);
<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/themes/default/style.min.css">
</head>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/jstree.min.js"></script>

<div id="A"></div>
<div id="B"></div>

Можно ли перетаскивать узлы в разных экземплярах jstree?

Вот скрипка

1 Ответ

0 голосов
/ 25 февраля 2019

Есть небольшая коррекция.Вам необходимо инициализировать экземпляр jsTree в конце события, используя .jstree (), и вызывать, используя уровень документа

, пожалуйста, внесите изменения в код:

var a = $(document).on('dnd_stop.vakata', function(e, data){
  alert('move success');
}).jstree();

Это отлично работает !!

полное jsfiddle: jsfiddle.net/thanseeh/o3buztex/14

$('#A').jstree({
	"core" : {
		"check_callback" : true,
    "data" : [{"text":"Root 1","id":"n1"}, {"text":"Root 2","id":"n2"}]
	},
  plugins:['dnd'],
});
$('#B').jstree({
	"core" : {
		"check_callback" : true,
    "data" : [{"text":"Root 3","id":"n3"}, {"text":"Root 4","id":"n4"}]
	},
  plugins:['dnd'],
});

var a = $(document).on('dnd_stop.vakata', function(e, data){
 alert('move success');
}).jstree();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/jstree.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/themes/default/style.min.css" rel="stylesheet"/>
<div id="A"></div>
<div id="B"></div>
...