0

この問題の正しいセレクター構文を理解するのに問題があります。助けていただければ幸いです。

つまり、5つの列を持つテーブルがあります。各行の各セルには、MyClassというクラスのDIV要素があります。MyClassのオブジェクトをドラッグ可能に設定しました。次に、適切なドロップターゲットを設定する必要があります。MyClassを持つ要素が存在する行のセルには、最初の列を除いて、要素が存在する行のみが必要です(その上または下の行の列にドロップできないようにする必要があります)。

それが理にかなっていることを願っています。誰かがそのための正しい構文は何であるかについて何か考えがありますか?以下は私が現在作業しているものですが、上または下の行にドロップできるため、完全には正しくありません。

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ ... });
4

1 に答える 1

2

accept次のように、オプションに関数を渡して、同じ行の要素.droppable()のみを受け入れるようにすることができます。<div>

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({
    accept: function(draggable) {
        return $.contains(this.parentNode, draggable[0]);
    }
});

関数draggableにはドラッグ可能なjQueryオブジェクトがあり、( )にドラッグ可能なオブジェクトが含まれている$.contains()かどうかを確認するために使用しています...つまり、ドロップしようとしているのはこの行からのものです。.parentNode<tr><div>

ここでテストできます

于 2010-11-28T10:03:22.127 に答える