jqueryui多次拖动元素

时间:2011-02-17 12:55:48

标签: javascript jquery-ui

如何设置拖放以允许多次拖动一个元素

我做了类似这样的事情http://jsfiddle.net/28SMv/3/但是在将项目从红色拖到蓝色之后,该元素失去了它的“可拖动性”,我无法再次拖动它。

添加revert:true to draggable似乎工作但是我需要删除帮助器:'clone'不能同时使用它们

2 个答案:

答案 0 :(得分:0)

您正在复制/克隆您的元素,因此新的元素显然不会被拖动。你可以让它变得可拖动,虽然那太多了。只需通过.append()移动原件即可。请注意,当您将现有对象附加到另一个元素时,它将从其位置删除原始对象。在我看来,这就像你想要做的那样。

示例:http://jsfiddle.net/28SMv/7/

您可能希望将项目转移回原始div:http://jsfiddle.net/28SMv/8/

请注意,我在那里使用jQuery 1.4.4,当你切换到1.5时它不起作用。不确定这是一个错误,还是jQuery的一个功能。我的猜测是这是一个1.5的错误。

答案 1 :(得分:0)

如果你拖动一个项目&释放而不下降,它停止可拖动。我将从那个jsfiddle示例中删除所有可放置的东西,只需在屏幕上放置一堆可拖动的东西。尝试一下。

一种可能的解决方案是在完成拖动后重新绑定拖动。认为:

function rebindDraggables() {
    $('...').draggable({
        ...
        stop: function() {
            rebindDraggables();
        }
    })
}

我不确定为什么在你的例子中,draggables在第一次之后不再是可拖动的。 jQuery文档可以解释这一点。