2

スクロールが完了したら、jQuery の mousemove 関数でイベントをトリガーしたいと考えています。

問題は、スクロールによって mousemove がトリガーされることです ( http://docs.jquery.com/Tutorials:Mouse_Position#Tracking_mouse_position )、

スクロールが終わってマウスを「リアル」に動かしたときにのみイベントをトリガーしたい。

スクロールがいつ停止したかを確認するためにかなりきちんとしたソリューションを使用しているので、その後に mousemove-check を実行したいと思います。 jQuery scroll() ユーザーがスクロールを停止したことを検出する

私の考えは、X座標を読み取り、スクロール後にY座標変更された場合にのみイベントをトリガーすることですが、 delay()setTimeout()のようなものを使用できれば本当に望ましいのですが、それらのどれも機能していません組み合わせ...

4

1 に答える 1

1

これを行う 1 つの方法 (おそらく最善の方法ではありません) は、スクロール/停止時に mousemove をバインド/バインド解除することです。座標を確認することは、これを行う良い方法です。スクロールの最後にカスタムイベントを発生させ、マウスの座標をチェックして、目的のマウス移動をトリガーするタイミングを確認します

おそらく、常に mousemove をバインドできますが、フラグを設定できます。そのため、スクロール中にフラグを false に設定して、mousemove がトリガーされないようにし、スクロールが停止したときに true に設定し、mousemove を手動でトリガーします。これは、常にイベントをバインド/バインド解除するよりもうまく機能する可能性があります。これを試してみて、うまくいくかどうかを確認してください

于 2013-03-11T14:22:06.093 に答える