8
我正在使用jquery可排序来跨多个容器对元素进行排序。刷新帮助者位置
我有帮助选项设置为“克隆”像这样
$("#sup").sortable({
helper: "clone"
});
所以发生的事情在这里,当元件开始拖动,jQuery的创建副本,并将其追加到身体,并成为元素实际上被拖拽(助手),而不是原来的。
当拖动开始时,我的助手可能会改变位置。但是,jQuery认为帮助程序是它放置它的地方,即使我在使用边距改变它的位置时,在将元素放入容器内时,帮助程序实际上并未覆盖它(因为我更改了帮助程序位置)。
问题:我如何让jQuery在我更改后重新计算助手的位置?
$("#sup").sortable({
helper: "clone",
start: function(event, ui) {
var marginsToSet = ui.item.data().sortableItem.margins;
// helper position changed
ui.helper.css('margin-left', marginsToSet.left);
ui.helper.css('margin-top', marginsToSet.top);
}
});
例:http://codepen.io/anon/pen/qZaNJZ你可以看到占位重点将转到下一个容器,即使它不是完全盘旋它。因为块位置不是jquery设置的。
我开始的赏金这个......伟大的作品,完全忘了耐受性的事情。 – guub