Jquery UI可拖动绝对而不是相对?

Vol*_*orm 20 jquery-ui jquery-ui-draggable

我有一个div包含一些jquery draggables,但是如果在任何时候我从页面中删除其中一个draggables然后这可以移动其余的,因为它们与相对位置.

这是一个小提琴展示:http: //jsfiddle.net/VolatileStorm/aNk6e/

我提出的解决方案是,draggable应该使用绝对而不是相对定位,但是我找不到这样做的方法.有没有办法做到这一点,如果没有,任何人都可以想办法吗?(为了优雅,我不接受"不要删除其他可拖动的").

Pau*_*per 18

  1. 添加position:absolute到您的元素.
  2. 调用之前将它们附加到DOM .draggable.

  • **之前**挽救了我的生活。谢谢。 (3认同)

jos*_*736 17

为什么不position:absolute适合你?

由于绝对定位的元素不再是文档流的一部分,因此您的三个元素中的每一个<div>都放置在0,0其包含(定位)元素的位置.因此,由你决定你的可拖动的起始位置.

  • 为了澄清这个场景,如果你通过css/inline将draggable elements的位置设置为`absolute`,那么draggable插件不会为你内联到`relative`设置它,你可以确定(或不是)起始位置(有助于动态生成的元素).但是,不要通过css定位`.ui-draggable`,因为这个选择器似乎在决定是否应用定位后添加. (4认同)

Sea*_*anK 9

在将元素设置为可拖动时,可以使用jQuery css函数将位置设置为绝对位置.

$(this).draggable().css("position", "absolute");
Run Code Online (Sandbox Code Playgroud)