2012-03-04 108 views
0

我發現了很多關於這個的例子,但是對於我所需要的所有東西都太複雜了。jQuery拖動appendTo後

這裏是我的代碼:

$(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 2012-03-04 14:54:33

+0

是的,你說得對,我添加了HTML信息。 – MatthewK 2012-03-04 15:17:51

回答

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 2012-03-04 15:21:58

+0

你說得對,做完了! – 2012-03-04 15:25:13