说我有一些这样的代码,在$(document).ready():
$(".banana").draggable();
$("body").on("click", "button", function(e){
$(".banana:first").clone().text('new text').;
});
和
<div class="container">
<button>add</button>
<div class="banana">banana 1</div>
</div>
所以,问题是当我点击创建div.banana的副本时。它不会自动为draggable注册事件处理程序。我尝试了一些东西但是我 确定这不是一个好方法:jsfiddle。
答案 0 :(得分:0)
您的新克隆元素全部为position: absolute
,因此它们可以在彼此之上。
如果你创建新元素使它们不是position: absolute
并修改每个元素以使它们不同并且你可以将它们彼此区分开来,那么修改后的jsFiddle似乎对我来说很好:{{3 }}
jQuery(document).ready(function(){
$(".banana").draggable();
$(".banana").click(function(e){
alert("Hello original");
});
var cntr = 1;
$("body").on("click", "button", function(e){
$(".banana:first").clone().text('new text ' + cntr)
.data("item", cntr)
.appendTo(".container").draggable()
.click(function(e){
alert("Hello new " + $(this).data("item"));
});
++cntr;
});
});