Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果父项可滚动,jQuery sortable将设置不正确的初始偏移量_Jquery_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

如果父项可滚动,jQuery sortable将设置不正确的初始偏移量

如果父项可滚动,jQuery sortable将设置不正确的初始偏移量,jquery,jquery-ui,jquery-ui-sortable,Jquery,Jquery Ui,Jquery Ui Sortable,我对jquery sortable有以下问题: 我有一个带有溢出-x:scroll的元素容器。它包含可排序的项目(显示:块)和(宽度>容器宽度) 如果将容器滚动到左边,则排序没有问题 但是如果它向右滚动,那么当我开始拖动时,可排序元素会跳到右边。因此,该元素位于最右侧。。但拖动时,鼠标远离元素的左侧 看起来jqueryui无法正确获取元素的初始偏移量,因为父元素被滚动 但有趣的是,这只发生在最初的阻力上。。当我第二次尝试拖动时,它的位置是正确的。再一次。。当我重新加载页面时,它在第一次拖动时设置

我对jquery sortable有以下问题:

我有一个带有
溢出-x:scroll
的元素容器。它包含可排序的项目(
显示:块
)和(宽度>容器宽度)

如果将容器滚动到左边,则排序没有问题

但是如果它向右滚动,那么当我开始拖动时,可排序元素会跳到右边。因此,该元素位于最右侧。。但拖动时,鼠标远离元素的左侧

看起来jqueryui无法正确获取元素的初始偏移量,因为父元素被滚动

但有趣的是,这只发生在最初的阻力上。。当我第二次尝试拖动时,它的位置是正确的。再一次。。当我重新加载页面时,它在第一次拖动时设置了错误的位置。。此外,当触发
change
事件时,元素跳回适当的正确位置。。因此,问题也可以在第一次拖动时自行解决

我制作了一个视频来描述这个问题:

var conf = {
    helper: function (e, ui) {
        var helper_scope;
        helper_scope = ui.scope();
        helper_scope.$apply(function () {
            helper_scope.project.open = false;
        });
        return ui;
    },
    opacity: 0.4,
    tolerance: 'pointer',
    forcePlaceholderSize: true
};
elm.sortable(conf);