克隆对象不是可弃(Clone object is not droppable)

2019-06-27 11:05发布

我试图克隆使用jQuery可投放对象,但克隆的对象不是可弃。

$(document).ready(function(){
$("input[value='Add']").click(function(e){
e.preventDefault();
$("div.field:last").clone().insertAfter("div.field:last");
});

$(".field").droppable();

HTML

<div class="field">
Last Name<input type="text" value="" />
First Name<input type="text" value="" />
</div>
<div class="field">
Last Name<input type="text" value="" />
First Name<input type="text" value="" />
</div>
<input type="Submit" name="submit" value="Add" /> 

萤火显示,克隆的对象具有类用户界面,可放开以及任何想法,为什么它不会工作?

编辑
设置布尔(真)或链接与.droppable克隆的对象()不工作要么

Answer 1:

你需要复制的事件到克隆; 传trueclone()

$("div.field:last").clone(true).insertAfter("div.field:last");

您可能还需要在从原来的一些数据复制:

var original = $("div.field:last");
var clone = original.clone(true);
clone.data( 'droppable', jQuery.extend(true, {}, original.data('droppable')) );
/* Untested! */


Answer 2:

我发现了一种方法,通过使用.live做到这一点,我使用的插件.livequery其功能与.live相当similiar

当您绑定一个“活”事件将绑定到页面上的所有当前和未来的元素

$("input[value='Add']").livequery("click", function(e){
e.preventDefault();
$("div.field:last").clone().insertAfter("div.field:last");
$("div.field").droppable();


文章来源: Clone object is not droppable