父元素menu-form-list,子元素需要添加draggable="true"
var currentNode;
var container = $('.menu-form-list').get()[0];
$('.menu-form-list').on('dragstart', function(e) {
$(this).addClass('moving');
currentNode = e.target;
e.originalEvent.dataTransfer.effectAllowed = 'move';
}).on('dragover', function(e){
e.preventDefault()
}).on('dragenter', function(e) {
e.preventDefault();
if (this === e.target || e.target === currentNode) {
return;
}
try {
const children = Array.from(this.children);
const currNodeIndex = children.indexOf(currentNode);
const targetNodeIndex = children.indexOf(e.target);
if (currNodeIndex < targetNodeIndex) {
container.insertBefore(currentNode, e.target.nextElementSibling);
} else {
container.insertBefore(currentNode, e.target);
}
} catch (err) {
console.log(err)
}
}).on('dragend', function(e) {
$(this).removeClass('moving');
})jquery拖动,jquery排序,div排序