jquery拖放和克隆,找到元素的放置位置

Posted

技术标签:

【中文标题】jquery拖放和克隆,找到元素的放置位置【英文标题】:jquery drag, drop and clone, find dropped position of element 【发布时间】:2014-11-14 07:41:00 【问题描述】:

这里是我的 jquery 拖放和克隆功能。

问题:

我的问题是:当我删除元素时,它会显示:

position: top: 0, left: 0

仅适用于可拖动、克隆和可放置元素。

我还编写了仅使用 draggable 函数查找位置的代码,并且运行良好。我希望draggable, droppable with clone feature中的这种行为@

请访问 JSFiddle

fiddle

full-screen output

【问题讨论】:

【参考方案1】:

终于解决了问题。问题是,我使用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/

【讨论】:

这里是旧帖子,但我想我还是会问。我注意到,当您将一个元素放到页面上时,它会加载 2 个坐标。所以在你再次移动它之后,它会加载一个更准确的坐标。您对此有更多更新的代码吗?这与我想要完成的非常相似,但不是签名。谢谢! @Justin 是的,帖子太旧了。不幸的是,我没有更新代码。 你在任何地方使用它吗?或者知道其他类似的解决方案? 我将它用于我的旧项目,但我现在无法访问该私有存储库:) 没问题,只是想问一下。无论如何,这可能让我进入下一步。谢谢!

以上是关于jquery拖放和克隆,找到元素的放置位置的主要内容,如果未能解决你的问题,请参考以下文章

JQUERY 跨 div 拖放和克隆

JQuery-UI 在 Re-Drag 上拖放和重新拖动克隆

jQuery 可在两个容器之间拖放和拖放,并且可排序

在 jquery drop UI 中,如何使用正确的鼠标位置将拖动元素克隆到放置位置?

可排序、可拖放和可拖动的容器

让 jQuery 可排序、可拖放和可拖动以协同工作