ここで私はこれを行いました。ドロップされた要素の親を、ドロップされた要素に変更します。
$(".droppable").droppable({
drop: function(event, ui) {
$(ui.draggable).appendTo($(this));
}});
、ここで、それは私はあなたがこれを試してみてくださいだと思うあなたの新しい問題に考えた後
$(".droppable").droppable({
drop: function(event, ui) {
if($(ui.draggable).parent() !==$(this)){
$(ui.draggable).appendTo($(this));
}
}});
する必要がない場合、それは実行does notのように、私はそれを編集する方法をです。これが機能するために、drop
列はtop
とposition:absolute
とleft
を持っている必要がありますし、両方の列を含むメインラッパーはposition:relative
$(".droppable").droppable({
drop: function(event, ui) {
var $kid = $(ui.draggable);
var $dad = $(this);
if($kid.parent() !== $dad)){
$kid.appendTo($dad);
$kid.css('left', $kid.left() - $dad.left());
$kid.css('top', $kid.top() - $dad.top());
}
}});
これは素晴らしいですする必要があります - 私は考えていたよりもずっと簡単。だから私は本当に行う必要はありません.remove()? – santa
私は、コードを修正して、特定のIDを.parent()の代わりに使う必要があると思います。私のケースでは、その "ドロップ"領域を持っている他の子供がいると私はそれらのいずれか内の項目を移動している間OKですが、その子を残すと、まだドロップ内にアイテムが消える... – santa
また私は$(ui.draggable).appendTo($(this))を使用すると気づきました。 アイテムを落とすとアイテムが飛び出し、ドロップされた場所には残りません... – santa