4

在这里,我的小提琴的jQuery的拖放,克隆功能。jQuery的拖放,克隆,找到元素的下降位置

问题:

我的问题是:当过我滴元素,它显示:

position: {top: 0, left: 0} 

只为可拖动,复制和投掷的元素。

我也写了代码找到位置只使用draggable功能,这是工作正常。我想这种行为在draggable, droppable with clone feature

请访问的jsfiddle

fiddle

full-screen output

回答

5

最后,解决了这个问题。问题是,我使用ui.draggable.position();将丢失的位置存储到数据库,这是错误的。

我们需要存储的实际位置是:

// position of the draggable minus position of the droppable 
// relative to the document 
leftPosition = ui.offset.left - $(this).offset().left; 
topPosition = ui.offset.top - $(this).offset().top; 

参考:How do I get the coordinate position after using jQuery drag and drop?

更新的jsfiddle与工作示例

http://jsfiddle.net/przbadu/rkvdffe3/18/

http://jsfiddle.net/przbadu/rkvdffe3/18/embedded/result/

+0

老张贴在这里,但我以为我会问nyways。我注意到,当你将一个元素拖放到页面上时,它会加载2个坐标。所以在你再次移动它之后,它会加载更精确的坐标。你有更多的更新代码吗?这与我期望完成的非常相似,但与签名无关。谢谢! – Justin 2017-12-13 06:02:44

+0

@Justin是的,它太旧了。不幸的是,我没有更新的代码。 – przbadu 2017-12-13 07:03:30

+0

你在任何地方使用它?或者知道另一种类似于此的解决方案? – Justin 2017-12-13 07:18:09