2012-10-25 23 views
1

我有一个网页,允许用户将元素拖放到可放置的div中。我正在使用JQuery UI Draggable和Droppable。我想添加如下功能:如果双击其中一个可拖动元素,它将“模拟”该元素的拖放 - 即拖动元素在屏幕上并将其放到可放置div上。这样用户可以选择拖放,或者只是双击。有什么方法可以轻松实现吗? (如果这太麻烦了,我可能只需双击代码就可以执行代码,然后弹出一个提醒,说明它已经完成了。)使用JQuery“模拟”拖放的简单方法?

回答

0

如果没有代码就很难开发一些东西,但这里有一个想法:

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

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

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

+0

你能提供一些示例代码? – froadie

0

我发现了一个类似的问题在这里:jQuery: How Do I simulate Drag and Drop in Code? 和我解决了使用由帕特里克McElhaney提出的解决方案:

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

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

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