当我尝试使用 jQuery UI Draggable 拖动绝对定位和旋转的 div(使用 css3 transform:rotate(45deg)
)时,似乎 jQuery 不知道该元素的新原点在哪里旋转的 div 是。
因此,当您开始拖动时,div 会立即移开几个像素。
这里有一个 jsFiddle,你可以自己看看:http://jsfiddle.net/k7g7R/4/ (通过单击然后拖动来旋转 div)。
请注意,当可拖动 div 处于相对位置时,它可以正常工作。
有谁知道发生了什么事,以及如何解决这个问题?
最佳答案
可能与 jQuery offset() 有关,在 css3 转换后它是错误的: http://bugs.jqueryui.com/ticket/6844
我解决此问题的方法是在要旋转的对象周围放置一个包装器,并使该包装器可拖动。
<div id="container">
<div id="wrap">
<div id="object" style="left: 90px; top: 90px;">Click to rotate, and drag</div>
</div>
</div>
查看您更新的 fiddle : http://jsfiddle.net/k7g7R/128/ (更新链接,因为缺少 jQueryRotate)
关于jquery - 使用 jQuery UI 拖动旋转且绝对定位的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18847896/