2016-12-01 17 views
3

私は以下の状況について助けを求めます。ドラッグして落として元の位置に戻して再度ドラッグしてください

私は2つの列を持ち、1つは数字を含み、その他はドラッグアンドドロップで受け取ります。

左の列はドラッグ可能で、右の列は削除可能です。 私は右の列もドラッグ可能にしたいと思っています。そのため、ユーザーが気が変わった場合、ドラッグして左の列に戻してからやり直すことができます。

$('.draggable').draggable({ 
    revert: true 
}); 

$('.droppable').droppable({ 
    drop: function(e, ui) { 
    $(this).html(ui.draggable.html()); 
    $(ui.draggable).html(''); 
    } 
}); 

The issue

jsfiddleのリンクを参照してください:私はあなたがドラッグ&ドロップを有効にするためにオブジェクトを渡すことができます機能になるだろうJsfiddle

+0

ただ、 '両方のdiv要素のすべてを作ります「ドロップ可能」である。より具体的な問題がなければ正常に動作するようです。 – CollinD

+0

これを行うと、右の列に落としてもう一度ドラッグした後、元の位置にも同じ位置にも戻すことはできません。 –

答えて

2

を。

実施例など、それが再び1つのドラッグしたアイテムをドラッグ作ることが容易になり、それがソースドロップ可能です。このように:jQueryのhttps://jsfiddle.net/Twisty/nuopmqnb/

$(function() { 
    function makeDrag($o) { 
    $o.draggable({ 
     revert: true, 
     stop: function(e, ui) { 
     if (!$(this).find("img").size()) { 
      $(this) 
      .removeClass("draggable") 
      .addClass("droppable") 
      .draggable("destroy"); 
      makeDrop($(this)); 
     } 
     } 
    }); 
    } 

    function makeDrop($o) { 
    $o.droppable({ 
     drop: function(e, ui) { 
     var $img = $("<img>", { 
      src: ui.draggable.find("img").attr("src") 
      }), 
      $target = $(e.target); 
     ui.draggable.html(""); 
     $target.html($img); 
     $target.droppable("destroy"); 
     makeDrag($target); 
     return false; 
     } 
    }); 
    } 

    makeDrag($('.draggable')); 
    makeDrop($('.droppable')); 
}); 
+0

これはまさに私が達成したかったものです!ご協力いただきありがとうございます! 私は別の解決策を作りましたが、それはちょっとバグがあり、これは間違いなく動作します。 –

関連する問題