1

jQuery を使用してドロップ ターゲットを検出しています。問題のターゲットは画像です。ある画像を別の画像にドラッグしてドロップすると、ターゲット ソースがドロップされたソースに置き換えられます。これは、2 つの画像が重なるまで問題なく機能します。

一部の画像は隣り合っており、ターゲット画像が重なっている場合もあります。ドロップすると、表示されている画像とその下の画像の両方がドラッグされた画像に置き換えられます。

$("#drag img").draggable({
  drag: function(event) { //somethings }
});

$("#target img").droppable({
  accept: '#drag img',
  drop: function() {//change src }
});

ライブの<-削除されました。画像を右の画像にドラッグしてみてください

問題が明確であり、良い解決策であることを願っています。

4

2 に答える 2

1

次の画像でイベント ハンドラーが呼び出されないようにするには、stopImmediatePropagationを使用します。どの画像が影響を受けるかは、イベント ハンドラーの順序によって決定する必要があります。一番上の画像にのみ適用する必要がある場合は、別の画像と重なっている画像にそのハンドラーが最初に適用されていることを確認してください。

于 2010-03-22T11:45:27.017 に答える
-1

私は自分の問題に合わせてもう少し具体的に解決することができました。あまり良くはありませんが、うまくいきます。下線の div を使用して、次のようなドロップを検出しました。

$("#target").droppable({
  accept: '#drag img',
  drop: function() {//change src of image in this div }
});

これは誰にも役立つとは思わない

于 2010-03-22T19:09:14.553 に答える