使用JQuery“模拟”拖放的简单方法?

时间:2012-10-25 19:48:19

标签: jquery jquery-ui draggable simulation droppable

我有一个网页,允许用户将元素拖动到可放置的div中。我正在使用JQuery UI Draggable和Droppable。我想添加一些功能,如果你双击其中一个可拖动元素,它会“模拟”该元素的拖放 - 即它将元素拖过屏幕并将其放在droppable div上。这样,用户可以选择拖放,或者只是双击。有没有办法轻松实现这个? (如果麻烦太多,我可能只需编写双击代码来执行代码,然后弹出一个警告,表明它已完成。)

2 个答案:

答案 0 :(得分:0)

如果没有一段代码,很难为你开发一些东西,但这是一个想法:

您可以使用元素“doubleclick”事件触发的.animate()函数将可拖动元素移动到放置区域。

使用.offset()功能计算目标位置不应该很难。

然后,使用.animate()回调来执行放置操作。

答案 1 :(得分:0)

我在这里找到了一个类似的问题:jQuery: How Do I simulate Drag and Drop in Code? 我解决了使用Patrick McElhaney提出的解决方案:

    $(".mainpanel").droppable({
        drop: function (event, ui) {
            onDragAndDrop($(ui.draggable), $(event.target));
        }
    });

    button.dblclick(function () {
        onDragAndDrop($(this), $(".mainpanel"));
    });

    function onDragAndDrop(dragged, droppable) {
        // ...
    }