Jquery ui JQuery可排序(具有不同高度的项)移动到第一个或最后一个位置很麻烦

Jquery ui JQuery可排序(具有不同高度的项)移动到第一个或最后一个位置很麻烦,jquery-ui,jquery-ui-sortable,Jquery Ui,Jquery Ui Sortable,问题 我的可排序列表中有几个不同高度的项目存在问题。当我试图将较大的项目移动到第一个或最后一个位置(这两个位置都有较小的对象)时,就会出现问题。我是否成功目前很大程度上取决于我单击并开始拖动较大项目的位置 如果我想将项目移动到较小的底部位置,我必须单击项目底部附近的位置才能使其工作,如果我想将其拖动到顶部位置,我必须单击顶部附近的位置。但我希望能够通过单击任意位置来拖动项目 一些附加信息 不能将项目拖到父级之外,父级仅与必须的大小一样大,如果它大于其容器,则会显示一个滚动条。因此,如果不在项目顶

问题

我的可排序列表中有几个不同高度的项目存在问题。当我试图将较大的项目移动到第一个或最后一个位置(这两个位置都有较小的对象)时,就会出现问题。我是否成功目前很大程度上取决于我单击并开始拖动较大项目的位置

如果我想将项目移动到较小的底部位置,我必须单击项目底部附近的位置才能使其工作,如果我想将其拖动到顶部位置,我必须单击顶部附近的位置。但我希望能够通过单击任意位置来拖动项目

一些附加信息

不能将项目拖到父级之外,父级仅与必须的大小一样大,如果它大于其容器,则会显示一个滚动条。因此,如果不在项目顶部拖动较大的项目,我似乎无法将其拖过第一个(较小的)项目

我一直试图通过使用cursorAt和top:0来解决这个问题,另外一个测试使用bottom:0,但它似乎没有任何区别(所以我可能误解了如何使用它)。我目前正在使用公差:指针

在排序过程中,我可以通过临时方式绕过无法将较大的项目拖动到最后一个位置的问题,即随着拖动项目的高度增加高度。但这并不总是有效,也不是一个很好的解决方案。而无法将其拖动到顶部的问题仍然存在

我无法更改JQuery代码,如中所示

问题: 如何将较大的项目拖动到顶部或底部位置,同时允许用户单击项目上的任何位置


谢谢你的帮助

这可能解决不了你的问题,但我想我应该分享一下我今天做的一些实验的结果。我需要制作一个可排序的照片库,其中包含不同宽度的内联块图片,并发现移动更宽的照片将非常困难,因为占位符比我移动的项目小。我最后用了这个:

    container.sortable({
        placeholder: "photo placeholder",
        start: function (event, ui) {
            ui.placeholder.width(ui.item.width());
        }
    });
自定义占位符类用于确保占位符在默认情况下不隐藏,
start
事件确保占位符与要移动的项目的宽度相同。这对我来说非常有效,在你的情况下,用高度代替宽度可能有效

我还尝试了使用
包容
,正如您所做的那样,发现它有时会使事情变得更加困难,这取决于行中的项目。正如您所解释的,包括
公差:“指针”
有助于缓解问题,但如果可能,删除
包容通常会使UI更加宽容