父元素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排序