2017-06-09 28 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); 
 
    } 
 
});