1

クローンされたdivをドラッグ可能にしようとしています:

 $("div").clone(true).removeAttr("id").appendTo($("body")).draggable();  

私もこれを試しました:

 $("div").clone(true,true).removeAttr("id").appendTo($("body")).draggable();     

クローンを作成しますが、そのクローンはドラッグできません。なぜこれが機能しないのか誰か教えてもらえますか?

4

2 に答える 2

3

どうぞ。あなたはしたくないclone(true)。ただclone()。前者はドラッグ可能なイベントのクローンも作成します。そのため、この奇妙な動作が発生します。

次に例を示します。http://jsfiddle.net/byZXS/1/

$('div').draggable(); 
$('div').clone().appendTo('body').draggable();​

データを保存する方法:

var data = $('div').data();
var newDiv = $("div").clone().appendTo('body').draggable();
newDiv.data(data);

ここでの例:http://jsfiddle.net/byZXS/2/

于 2012-05-20T13:07:36.067 に答える
0

最初に元の要素のドラッグゲイルと次のようなサイズ変更可能なプラグインを破棄してみませんか?

$("#orignaldivid").draggable("destroy");
$("#orignaldivid").resizable("destroy");

次に、次のようなクローンを作成します。

  var clone = $("orignaldivid").clone(true).attr("id", GetNewId()); //GetNewId may be any function to generate unique id

#orignaldiv parent次に、それを次のように追加します。

  $(clone).appendTo($("#orignaldivid").parent());

そして最後にre-assign to orignalそしてassign to cloneすべてのプラグイン

$("#orignaldivid").draggable();
$("#orignaldivid").resizable();
$(clone).draggable();
$(clone).resizable();

役に立つかもしれません!

于 2012-05-20T14:19:47.753 に答える