有办法获得助手被拖到新位置的当前位置吗?
$("#sortable").sortable({ start: function (event,ui) { var currPos1 = ui.item.index(); },change: function (event,ui) { var currPos2 = ui.item.index(); } });
看来,当实际改变发生时,currPos1和currPos2具有相同的值!
我需要实现的是突出显示用户“开始拖动元素”到“当前替换的元素”之间的所有位置。一旦用户释放鼠标按钮更新发生,只有当我得到新的位置,但我需要它之前鼠标释放。
解决方法
UPDATED:26/08/2016使用最新的jquery和jquery ui版本加bootstrap风格。
- demo: 07000
$(function() { $('#sortable').sortable({ start: function(event,ui) { var start_pos = ui.item.index(); ui.item.data('start_pos',start_pos); },change: function(event,ui) { var start_pos = ui.item.data('start_pos'); var index = ui.placeholder.index(); if (start_pos < index) { $('#sortable li:nth-child(' + index + ')').addClass('highlights'); } else { $('#sortable li:eq(' + (index + 1) + ')').addClass('highlights'); } },update: function(event,ui) { $('#sortable li').removeClass('highlights'); } }); });