JQuery Draggable Offset Error

时间:2013-10-22 06:18:08

标签: javascript jquery css jquery-ui draggable

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

例如,如果父容器被margin-left:200px偏移,当您尝试向右拖动一个位于容器左边框的元素时,它只会在光标为200时开始移动这个左边界右边的像素。

对于实际演示,请参阅(我无法在JSFiddle上复制此内容):Demo

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

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

您和FYI的演示无法在支持触控的设备上运行;)

<强>更新 我看了你的演示,(最后再次在电脑上)。如果删除div.container的'position:relative',则draggables按预期工作(或者至少我认为你期望它们表现为:D)。

答案 1 :(得分:0)

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