我运行到使用jQuery UI和克隆元素一个奇怪的问题。即使jQuery UI事件似乎被正确复制,看起来事件仍然引用原始DOM对象,而不是克隆的。jQuery UI的克隆拖动元素也不能拖动
这个js小提琴说明问题:http://jsfiddle.net/XDrC5/
这里的HTML:
<button id="clone">Clone</button>
<div id="source">
<div id="elem"></div>
</div>
<div id="copy">
</div>
和JavaScript:
$(document).ready(function() {
$("#elem").resizable({
containment:"parent"
}).draggable({
containment:"parent"
});
$("#clone").on("click", function() {
var newHTML = $("#source").clone(true);
$("#copy").html(newHTML.contents());
});
});
点击克隆正确复制在下面的对话框橙色正方形,但试图拖动新的广场结果在原来的广场移动。试图调整新广场的大小并没有任何意义。
这试图呼吁克隆元素jQuery UI的方法时,会导致更大的问题。例如,在克隆实际从原始元素中移除可拖动元素后,调用.draggable("destroy");
,使新旧元素不可移动。
我不知道是否有办法解决,如果我只是被密集,或者如果这是一个不可避免的错误。任何帮助是极大的赞赏。
部分原因是要创建一个使用相同的ID前面的一个新的div - 使用一个类来代替。 – Wez 2013-02-25 10:33:36