使用 JQuery 在 Droppend 时停止删除可拖动元素

Posted

技术标签:

【中文标题】使用 JQuery 在 Droppend 时停止删除可拖动元素【英文标题】:Stop draggable element being removed when it is Droppend using JQuery 【发布时间】:2016-02-27 02:01:36 【问题描述】:

我使用 JQuery Draggable 和 Droppable 将对象从一个 div 拖放到另一个。

它可以很好地拖放,但是当它确实下降时,它会从可拖动列表中删除。

有没有办法在对象被丢弃后仍然保留它。

我尝试将克隆重新附加到可拖动类,但这没有用。

这是我的代码

       $(".draggableItems").draggable(
            scroll: false,
            helper: 'clone',    
        );

        $(".droppable-content").droppable(
            accept: ".draggableItems",
            activeClass: "ui-state-default",
            hoverClass: "ui-state-hover",
            drop: function (event, ui) 
                $(".droppable-content").append($(ui.draggable));
            
        );

感谢任何帮助。

【问题讨论】:

【参考方案1】:

你可以结合draggablehelper: "clone"和使用jQuery的clone()函数来克隆元素并添加到droppable区域:

$("#draggable li").draggable(
    helper: "clone"
).disableSelection();

$("#droppable").droppable(
    drop: function (event, ui) 
        $(this).append(ui.draggable.clone());
    
);

Working demo

【讨论】:

$('.draggableItems').append(ui.helper.clone());我尝试将其添加到 drop 功能中,但它不起作用。这就是你的意思吗? 是的,但您可能必须使用ui.draggable 而不是helper 我添加了一个例子,如果你想看看【参考方案2】:

设法解决了这个问题。我发现这篇文章特别有用。

Constrain draggable element after it has been dropped

【讨论】:

以上是关于使用 JQuery 在 Droppend 时停止删除可拖动元素的主要内容,如果未能解决你的问题,请参考以下文章

使用可拖动的 Jquery ui,如何在停止时更改反转?

使用 jQuery 单击另一个音频文件时停止/暂停音频

远程时jQuery验证插件停止

使用 Javascript/Jquery 停止 html 声音

jQuery:停止在多次翻转时重复动画?

悬停时的 jQuery 动画 |非常快的传球,停止动画