Javascript 当我克隆一个可拖动的div时,为什么不';克隆人不可拖动吗?
我正在尝试使克隆的div可拖动:Javascript 当我克隆一个可拖动的div时,为什么不';克隆人不可拖动吗?,javascript,jquery,Javascript,Jquery,我正在尝试使克隆的div可拖动: $("div").clone(true).removeAttr("id").appendTo($("body")).draggable(); 我也试过: $("div").clone(true,true).removeAttr("id").appendTo($("body")).draggable(); 它创建了一个克隆,但该克隆不可拖动。有人能告诉我为什么这不起作用吗?给你。您不想克隆(true)。只需clone()。前者也将克隆可拖动事
$("div").clone(true).removeAttr("id").appendTo($("body")).draggable();
我也试过:
$("div").clone(true,true).removeAttr("id").appendTo($("body")).draggable();
它创建了一个克隆,但该克隆不可拖动。有人能告诉我为什么这不起作用吗?给你。您不想
克隆(true)
。只需clone()
。前者也将克隆可拖动事件,这就是为什么它有这种奇怪的行为
以下是一个例子:
如何保存数据:
var data = $('div').data();
var newDiv = $("div").clone().appendTo('body').draggable();
newDiv.data(data);
这里的示例:为什么不先销毁原始元素draggale和可调整大小的插件,如:
$("#orignaldivid").draggable("destroy");
$("#orignaldivid").resizable("destroy");
然后制作一个克隆,如下所示:
var clone = $("orignaldivid").clone(true).attr("id", GetNewId()); //GetNewId may be any function to generate unique id
然后将其附加到#orignaldiv父项
,如:
$(clone).appendTo($("#orignaldivid").parent());
最后,重新分配给原始
和分配给克隆
所有插件
$("#orignaldivid").draggable();
$("#orignaldivid").resizable();
$(clone).draggable();
$(clone).resizable();
可能会有帮助 你还在使用
live()
?是的,“live”在那里,我尝试了“on”也不起作用,但现在我正在制作“克隆div”,可拖动,显式地,现在它也不是拖动的@inhan的副本,我想做同样的事情,但我想它不是真正的副本,因为他试图用这些答案解决问题,但没有成功。不,不是,这个案例不同。非常感谢,工作正常,但是现在我如何仅用一个键复制其他相关数据,我通过.data()输入,初始值为0,因此,我在克隆的div中手动输入了它,但是如果有一些解决方法,那么我很想知道,因为在本例中,它是一个单键,但是如果有100个键呢?不清楚您的意思clone()
应该复制div
中的所有内容。它不会复制我们通过.data()插入的数据,意思是假设我插入了起始值为0的“a”,比如$(“div”).data(“a”,0);那么这个“a”就不能用.clone()复制了。您可以将旧数据复制到新元素中。我会更新我的答案。
$("#orignaldivid").draggable();
$("#orignaldivid").resizable();
$(clone).draggable();
$(clone).resizable();