各要素のクリック イベントにバインドされたコールバックを持つ多くの要素を含むページがあります。
ページはビューポートよりも大きく、ユーザーは標準的な方法でスクロールできます (マウスホイール、スクロールバーを使用...)
ここで、ユーザーがページをスクロールする別の方法を提供する、パン モードを実装する必要があります。
ユーザーがクリックし、マウスダウンでドラッグすると、ページがスクロールします。
body要素にmousedown、mousemove、mouseupを簡単に登録できるように実装しました。ユーザーがドラッグすると、 window.scrollTo()でウィンドウをスクロールします
問題:ページがマウス ポインターの下で移動するときに、ユーザーが要素をクリックしてページをパンすると、同じ要素で mousedown と mouseup が発生し、 mouseup の後にその要素でもクリック イベントがトリガーされます。
このオフコースは望ましくありません。
クリック イベントは子要素にあるため (マウスの dowm-move-up は本体にあります)、stopPropagationは役に立ちません。
質問: mouseup コールバックの最後で、実際にドラッグが発生したとき (最初と最後のマウス座標を比較して確認できます)、クリック イベントがトリガーされるのを防ぐことはできますか?