0

我遇到了可拖动的问题。当您开始拖动时,光标的位置是相对于窗口的 [0,0] 测量的,而不是<div>可拖动元素的父级。

例如,如果父容器偏移 a margin-left:200px,当您尝试向右拖动位于容器左边框上的元素时,它只会在光标位于该左边框右侧 200 像素时开始移动.

有关实际演示,请参阅(我无法在 JSFiddle 上复制它):Demo

我想这需要对可拖动源进行一些修改。这对我来说有点复杂。

有任何想法吗?

4

2 回答 2

1

您可以通过使用 $(element).offsetParent() 来获得父母的偏移量。当父元素绝对定位时特别方便。您可以编写一个循环来遍历所有父元素并复合它们的偏移量。

仅供参考,您的演示不适用于触控设备;)

更新 我看了你的演示,(终于再次在电脑上)。如果您删除 div.container 的“位置:相对”,则可拖动对象按预期工作(或者至少正如我认为您希望它们表现的那样:D)。

于 2013-10-22T07:45:14.397 回答
0

我也遇到了这个问题,并且能够通过首先计算边界框到窗口的偏移量来解决它,无论是左右。接下来我更新了包含 x1、y1、x2、y2 的位置以反映边界框的位置。

于 2013-12-07T18:56:40.440 回答