1

オブジェクトのCLICKとイベントの両方をリッスンしているシナリオがあります。MouseDown

MouseDown でstartDrag(). Click では、別のことを実行します。

しかし、問題は、MouseDown イベントが最初に発生し、ドラッグが開始されることです。クリック イベントは発生しません。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

MouseDown イベントをリッスンし、発生時に MouseMove および MouseUp イベントをサブスクライブし、MouseDown のカーソルの座標を記憶することができます。次に、ドラッグ開始の兆候となるデルタ (たとえば 1px) を決定します。そのため、MouseMove が呼び出された場合は、現在のマウスの位置を確認し、ユーザーが実際にドラッグしているかどうかを判断します (デルタを使用)。この場合、 を呼び出しstartDrag()ます。それ以外の場合は Click イベントが呼び出されます。

そして、退会イベントを覚えておいてください!:)

于 2011-04-18T10:29:45.467 に答える