';原始位置';jqueryui还原
我使用的是jQuery UI可排序库,您可以在这里看到示例: 我正在使用“revert”功能,如果没有在可放置区域中放置,它应该会还原元素的位置;问题是,出于某种原因,如果我拖动并经过一个可拖放区域,然后我释放该元素,它会恢复到我最后一个可拖放区域。我希望它恢复到原来的位置。。。希望我自己能解释清楚 谢谢';原始位置';jqueryui还原,jquery,jquery-ui,jquery-ui-sortable,jquery-ui-draggable,jquery-ui-droppable,Jquery,Jquery Ui,Jquery Ui Sortable,Jquery Ui Draggable,Jquery Ui Droppable,我使用的是jQuery UI可排序库,您可以在这里看到示例: 我正在使用“revert”功能,如果没有在可放置区域中放置,它应该会还原元素的位置;问题是,出于某种原因,如果我拖动并经过一个可拖放区域,然后我释放该元素,它会恢复到我最后一个可拖放区域。我希望它恢复到原来的位置。。。希望我自己能解释清楚 谢谢 以下是您的小提琴的更新版本: 我为您的排序表添加了一个停止处理程序: stop: function (event, ui) { var placePos = ui.p
以下是您的小提琴的更新版本: 我为您的排序表添加了一个停止处理程序:
stop: function (event, ui) {
var placePos = ui.placeholder.position();
var placeWidth = ui.placeholder.outerWidth();
var total = placePos.left + placeWidth;
if (ui.position.left > total) $("#sortable1").sortable("cancel");
}
我希望这就是你要找的
编辑:这里是另一个使用beforeStop处理程序的版本,因为我看到stop可能有问题 你能发布一个重新创建你的问题的提琴吗?请在jsfiddle.net上发布你的代码和/或一个演示。这里是提琴。如果向下拖动“Item1”并浏览“Item99”,则在两个列表之外的空白处释放“Item1”;它应该回到原来的地方。相反,它会回到上一张你“吃多了”的名单上。谢谢,鲍比!你刚才给我的想法将帮助我解决这个问题。事实上,我有两个以上的可排序列表,所以代码还需要几行,但是太棒了!非常感谢你!!如果你认为这是正确的,你可以接受它作为一个正确的答案。很乐意帮忙。
stop: function (event, ui) {
var placePos = ui.placeholder.position();
var placeWidth = ui.placeholder.outerWidth();
var total = placePos.left + placeWidth;
if (ui.position.left > total) $("#sortable1").sortable("cancel");
}