0

この例を見てください。

ドキュメントによると:

helper完璧に機能するには、「クローン」に設定する必要があります

確かに、削除するhelper: 'clone'と、ドラッグすると奇妙なことが起こります。

問題は、私が「クローン」の動作に興味がないことです。アイテムをあるリストから別のリストに移動したいのですが。

注:元の(左)リストはソート可能であってはなりません。

何か案は?

4

2 に答える 2

4

私はこれと同じ問題に苦しんでいます。実際にヘルパーを「元の」に設定すると、あらゆる種類のびくびくした奇妙な動作が発生します。

それがあなたの目的に役立つかどうかはわかりませんが、ドラッグの開始/停止イベントとソート可能な更新イベントをリッスンするコードをいくつか作成しました。

ドラッグスタートすると、アイテムはリストから非表示になります。アイテムが他のリスト(ブール値によって決定される)に転送されない場合、アイテムは非表示になりません。ただし、アイテムが転送されると、元のアイテムは削除されます。

$(function() {
var transferred = false;
$('#draggable li').draggable({
    connectToSortable: '#sortable',
    helper: 'clone',
    start: function(event, ui)
    {
        $(this).hide();
    },
    stop: function(event, ui)
    {
        if(!transferred)
            $(this).show();
        else
        {
            $(this).remove();
            transferred = false;
        }
    }
});

$('#sortable').sortable({
    receive: function(event, ui)
    {
        transferred = true;
    }
});

}); </ p>

jsfiddleの例を変更しました。(http://jsfiddle.net/xD2dW/12/)

もちろん、特定のニーズに合わせてコードを変更することもできますが、少なくともこれが良いスタートになることを願っています。

于 2012-10-31T19:02:53.890 に答える
-1

helper: function(){ //何かをする; }

于 2013-02-06T12:45:37.623 に答える