2012-10-25 31 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) { 
     // ... 
    }