2017-06-09 90 views
0

我試圖實現一個拖動&使用jQuery的拖放功能&它工作的很好,現在我想用老的地方替換拖動的元素。如何用jQuery克隆元素?

我使用clone()方法,但由於我是jQuery的新手,我寫的代碼無限地克隆了元素,有人可以幫助我嗎?

這是我的代碼:

<script> 
$(function() { 
    $(".draggable").draggable(
     { 
      drag : function(event, ui) { 
       $(this).clone().appendTo(this) 
      } 
     }); 

    $(".droppable").droppable({ 
     drop: function(event, ui) { 
      $(this).addClass("ui-state-highlight") 
     } 
    }); 
}); 
</script> 
+0

您克隆拖動處理程序中的元素。在拖動元素時,分配給drag的函數將不斷調用。指定處理程序以啓動或停止:在開始或停止拖動時克隆它,但在拖動時不重複。 – Flyer53

+0

是的,我很喜歡,但我怎樣才能分配給這些方法? –

+0

可能的重複[當我做一個可拖動的克隆,並把它放在一個droppable我不能拖動它](https://stackoverflow.com/questions/867469/when-i-make-a-draggable-clone-and-落它-IN-A-投擲的-I-不能拖動-IT-再次) – Sandman

回答

0

這基本上工作。但你必須根據你的需要調整它。

var dropclone; 
 
$(".draggable").draggable({ 
 
    start: function (event, ui) { 
 
     dropclone = ui.helper.clone(); 
 
    } 
 
}); 
 
$(".droppable").droppable({ 
 
    drop: function() { 
 
     $('body').append(dropclone); 
 
    } 
 
});