21

ドラッグしたい要素のコピーを作成できるようにしたい。ドラッグおよびドロップ可能な標準のUIを使用しています。ヘルパークローンオプションについて知っています。しかし、それはコピーを作成しません。ドラッグされたアイテムは元の位置に戻ります。

4

3 に答える 3

35

マーク、

この例を試してください:

        $(document).ready(function(){
        $(".objectDrag").draggable({helper:'clone'});  

        $("#garbageCollector").droppable({
            accept: ".objectDrag",
            drop: function(event,ui){
                    console.log("Item was Dropped");
                    $(this).append($(ui.draggable).clone());
                }
        });

    });

そして、Htmlは次のようになります

        <div class="objectDrag" 
        style="width:10%; color:white;border:black 1px solid; background-color:#00A">Drag me</div>

    <div id="garbageCollector" style="width:100%; height:400px; background-color:#333; color:white;"> Drop items on me</div>
于 2009-03-08T16:26:27.760 に答える
9

(まだ)コメントできないので、これを別の回答として残します-私のような誰かがこの質問を見つける場合に備えて:

コメントからの質問は

「しかし、クローン/ドロップされた要素を、ドロップされたのと同じ位置に配置したいのですが、どうすればそれができるか知っていますか?」

私は別のSOの質問で解決策を見つけました.答えはこの行を変更することです:

   $(this).append($(ui.draggable).clone());

   $(this).append($(ui.helper).clone());

(ui.draggable を ui.helper に変更)

それが役に立てば幸い。

于 2011-01-13T14:39:41.293 に答える
2

クローン/コピーを再度ドラッグするには、withDataAndEvents引数をtrueに設定します。

$(this).append($(ui.draggable).clone(*true*));
于 2010-03-01T13:05:11.253 に答える