私は多くの小さなスクロール可能なdiv(実際にはAceエディター)のグリッドを持つWebアプリを構築していますが、このグリッドにはウィンドウよりも大きい十分な要素があります。ユーザーが空のスペースをスクロールし始めたら、ウィンドウ自体をスクロールさせたいと思います。ユーザーがグリッド要素内でスクロールを開始したときに、そこでdivの内容をスクロールしてもらいたいと思います。つまり、ユーザーが空のスペースをスクロールし始めてから、マウスがグリッド要素上を移動するようにスクロールすると、スクロール可能なdivがすべてのスクロールイベントをキャプチャし、グリッド上のユーザーのフローを中断して、グリッド内に「トラップ」します。エレメント。
AFAIKには垂直方向とは別に水平方向のマウスホイールの動きをキャプチャする方法がないため、イベントを手動でキャプチャすることはできませんonmousewheel
。MacOSXのユーザーがすべての方向にスクロールできるようにしたいです。JSを使用して、最初のイベントに非常に高いz-indexを持つ非表示のdivを追加し、イベントが一定期間トリガーされなくなっonscroll
たらすぐに削除することを考えました。onscroll
これはまだコーディングしていませんが、もっと良い解決策があるのか、それとも私が考えていなかった潜在的な落とし穴があるのか疑問に思っています。どんな助けやアドバイスも素晴らしいでしょう!ありがとう!