2012-03-04 13 views
0

私はこれに関する多くの例を見つけましたが、すべて私が必要とするもののために複雑すぎました。jQuery appendの後にドラッグ

は、ここに私のコードです:

$(function() { 
    jQuery(".drag").click(function() { $(this).appendTo(".inner")}); 
    jQuery(".drag").draggable({ grid: [ 10, 10 ] }, { containment: ".inner" }); 
}); 

私は私が望むのコンテナに追加した後にのみ、同じ要素をドラッグしたいと思います。

ドラッグ要素はドラッグしたいコンテナの外側にあることに注意してください。だからこそ私はappendToを使う。

HTML:

... 
    <div class="inner"></div> 
    ... 

    <div class="objects"> 
    <div class="drag"><img src="img1.jpg" title="name1" /></div> 
    <div class="drag"><img src="img2.jpg" title="name2" /></div> 
    <div class="drag"><img src="img3.jpg" title="name3" /></div> 
    </div> 
... 
+0

もう少し詳しく、多分あなたのhtml/cssを追加できますか? – gideon

+0

はい、そうです、HTML情報を追加しました。 – MatthewK

答えて

1

ないあなたを助けることが何をやろうとしているが、jQueryのUIイベントstartてください:

$(function() { 
    jQuery(".drag").draggable({ 
     grid: [ 10, 10 ], 
     containment: ".inner", 
     start: function() { $("#result").html("Drag start!"); } 
    }); 
});​ 

HTML:

<div class="inner"> 
    Inner div 

<div class="drag"> 
</div> 
</div> 
<p id="result"></div> 

CSS:

div { border:1px solid black; padding:5px; } 
.inner { width: 200px; height:200px; } 
.drag { width:50px; height: 50px; background-color:#fca;}​ 

this jsFiddleを参照してください。

+1

あなたの答えにあなたのコードも載せてください。 (アイデアは答えが自己完結型で、JSFiddleがグリッドから外れると死ぬことはありません) – gideon

+0

あなたは正しいです! –