0

<div id="catalog" >要素をボックスからドラッグ アンド ドロップすると、つまり<div id="dialogIteration">正常に動作します。しかし、同じ要素を 2 回目にドラッグ アンド ドロップすると、簡単にドロップされます。 " .

コード例http://jsfiddle.net/coolanuj/7683X/28

4

2 に答える 2

2

draggableダイアログ内に既にドロップされているかどうかを示すフラグを内部で使用します。

drop: function (evt, ui) {
    // logic
    if (ui.draggable.attr('data-dropped')) {
        // don't perform the drop
    } else {
        // perform the drop
        ui.draggable.attr('data-dropped', true);
    }
}

現在ドロップされているものだけをもうドロップしないようにしたい場合は、ドロップが成功したときに属性をdroppableリセットします。draggable

drop: function (evt, ui) {
    // logic
    if (ui.draggable.attr('data-dropped')) {
        // don't perform the drop
    } else {
        // perform the drop
        $('tag[data-dropped=true]').attr('data-dropped', false);
        ui.draggable.attr('data-dropped', true);
    }
}
于 2012-11-08T08:28:21.037 に答える
0

例を次に示します: http://jsfiddle.net/7683X/35/

セレクターを使用:containsして、テキストがドロップ可能な要素に既にドロップされているかどうかを確認しました。

drop: function(event, ui) {
    if($("#dialogIteration ol:contains('"+ui.draggable.text()+"')").length > 0)
    {
       alert("Statement already exits");
       return false;
    }

    ...
}
于 2012-11-08T22:03:28.633 に答える