Я использую два списка, связанных друг с другом, которые позволяют перетаскивать между ними.Хотя использование кода переупорядочения, найденного в другом потоке, устраняет проблему с переупорядочением элементов в том же списке, она не решает проблему при перетаскивании элемента из одного списка в другой.Я понимаю, что это потому, что это не действие «переупорядочить», это действие «отбрасывание».Я пробовал много разных углов, например, используя событие «add», но в объекте (e) нет свойства «offset».
Как я могу выполнить то же самое, то есть сохранитьуронить элемент в том порядке, в котором он был визуально удален?
Вот моя функция виджета с событием переупорядочения, которая правильно упорядочивает элементы в том виде, в котором они отображаются в listBox (почему это не происходит автоматически, вне меня!),Помните, что событие переупорядочения происходит только при перемещении элементов внутри одного списка, а не при перетаскивании элемента из одного списка в другой.
$("#myMenus").kendoListBox({
draggable: true,
connectWith: "baseMenus",
dropSources: ["baseMenus"],
add: function(e) {
console.log('ADD');
console.log(e);
},
reorder: function(e) {
e.preventDefault();
var dataSource = e.sender.dataSource;
var dataItem = e.dataItems[0];
var index = dataSource.indexOf(dataItem) + e.offset;
dataSource.remove(dataItem);
dataSource.insert(index, dataItem);
},
});