3

ドラッグ アンド ドロップがネイティブ JavaScript でどのように機能するかを確認しようとしています。それを実現するための簡単なjavascript関数を書いています。動作しますが、正しくはありません。

http://jsfiddle.net/FKM5S/

ホワイト ボックスをブラック ボックスに向かってゆっくりと移動すると、ホワイト ボックスは設計どおりに停止します。白いボックスを十分な速さで動かすと、実際には黒いボックスと重なります。

私の JavaScript コードでは、白いボックスが黒いボックスと重なっているかどうかを確認してから、false を返します。

var beforeMovePassed = this.callbacks.beforeMove();

if( beforeMovePassed )
{
    return false;
}

なぜそれが起こっているのか正確にはわかりません。

ドラッグ速度に関係なく、白いボックスが黒いボックスに重ならないようにイベントを正しく停止するにはどうすればよいですか?

4

2 に答える 2

2

イベント ハンドラーはすべての変更に対して呼び出されるわけではないことに注意してください。呼び出しの間にミリ秒単位の制限があり、多くの要因に依存します。

そのため、チェックが白いボックスが黒いボックスであるたびに良いので、そうであれば、自分で正しい位置に移動します。

于 2012-08-22T06:21:00.183 に答える
0

私はわかりません

ただし、event.preventDefault()を使用してみてください。その場合は、イベントオブジェクトの参照が必要です。

それがうまくいくことを願っています!!

于 2012-08-22T06:25:41.667 に答える