我遇到拖拽问题。当您开始拖动时,游标的位置是相对于窗口的[0,0]而不是可拖动元素的父<div>
来测量的。
例如,如果父容器被margin-left:200px
偏移,当您尝试向右拖动一个位于容器左边框的元素时,它只会在光标为200时开始移动这个左边界右边的像素。
对于实际演示,请参阅(我无法在JSFiddle上复制此内容):Demo
我想这需要对可拖动源进行一些修改。这对我来说有点复杂。
有什么想法吗?
答案 0 :(得分:1)
您可以使用$(element).offsetParent()来获取父项偏移量。当父元素定位为绝对时,特别方便。 您可以编写一个循环来遍历所有父元素并复合它们的偏移量。
您和FYI的演示无法在支持触控的设备上运行;)
<强>更新强> 我看了你的演示,(最后再次在电脑上)。如果删除div.container的'position:relative',则draggables按预期工作(或者至少我认为你期望它们表现为:D)。
答案 1 :(得分:0)
我也有这个问题,并且能够通过首先计算边界框到窗口的偏移量来解决它,无论是左边还是右边。接下来,我更新了包含x1,y1,x2,y2位置以反映边界框的位置。