【发布时间】:2016-01-11 13:25:12
【问题描述】:
我正在克隆元素,因为它们是使用 JQuery 的 clone() 方法从 JQuery UI Draggable 列表中拖出的。查看clone() documentation,我发现我可以通过将一个或两个布尔参数(true,true) 传递给clone() 方法来克隆已经绑定到这些元素的事件。
通过传递这些参数,事情变得很奇怪。如果我只使用clone(),如下所示,事情会按预期工作。
$(".draggable").draggable({
connectToSortable: ".sortable",
helper: function(e) {
return $(this).clone();
}
});
在上面的示例中,我获得了无限的克隆,但与克隆元素相关联的事件也没有被克隆。那么,很自然地,我想为这个clone() 方法添加一两个参数,这样我也可以克隆事件!
$(".draggable").draggable({
connectToSortable: ".sortable",
helper: function(e) {
return $(this).clone(true);
}
});
但这使得事物只克隆一次。有关示例,请参见下面的小提琴!
这是一个 clone(true) 的小提琴,它只克隆一次:
http://jsfiddle.net/og937wy7/9/
这里有一个clone() 的小提琴,它克隆了很多次。
http://jsfiddle.net/og937wy7/10/
【问题讨论】:
标签: jquery jquery-ui clone draggable jquery-ui-sortable