Javascript JQuery可拖动偏移量错误
我对draggable有意见。开始拖动时,光标的位置是相对于窗口的[0,0]测量的,而不是可拖动元素的父元素 例如,如果父容器偏移了一个Javascript JQuery可拖动偏移量错误,javascript,jquery,css,jquery-ui,draggable,Javascript,Jquery,Css,Jquery Ui,Draggable,我对draggable有意见。开始拖动时,光标的位置是相对于窗口的[0,0]测量的,而不是可拖动元素的父元素 例如,如果父容器偏移了一个边距left:200px,则当您尝试向右拖动紧靠容器左边框的元素时,仅当光标位于该左边框右侧200像素时,它才会开始移动 对于实际的演示,请参见(我无法在JSFIDLE上复制): 我想这需要对可拖动的源代码进行一些修改。这对我来说有点复杂 有什么想法吗?您可以使用$(element).offsetParent()获得父项偏移量。当父元素处于绝对位置时尤其方便。
边距left:200px
,则当您尝试向右拖动紧靠容器左边框的元素时,仅当光标位于该左边框右侧200像素时,它才会开始移动
对于实际的演示,请参见(我无法在JSFIDLE上复制):
我想这需要对可拖动的源代码进行一些修改。这对我来说有点复杂
有什么想法吗?您可以使用$(element).offsetParent()获得父项偏移量。当父元素处于绝对位置时尤其方便。 您可以编写一个循环来遍历所有父元素并合成它们的偏移量 仅供参考,您的演示在支持触摸的设备上不起作用;) 更新
我看了你的演示(终于又在电脑上了)。如果删除div.container的“position:relative”(位置:相对),拖拽表将按预期工作(或者至少我认为它们的行为是:D)。我也遇到了这个问题,并且能够通过首先计算边界框到窗口的左右偏移量来解决它。接下来,我更新了安全壳x1、y1、x2、y2的位置,以反映边界框的位置。但我不确定如何在可拖动的上下文中实现这一点。谢谢您的帮助。我对draggable.js做了一些修改,这些修改实际上从一开始就导致了这个问题。