私は多くのスクロール可能なdiv(実際にはAceエディタ)のグリッドを持つWebアプリケーションを構築しています。ウィンドウよりも大きい。ユーザーが空の領域をスクロールし始めると、ウィンドウ自体をスクロールさせたい。ユーザーがグリッド要素内でスクロールを開始したときに、そこでdivコンテンツをスクロールするようにします。つまり、ユーザーが空の領域をスクロールしてマウスがグリッド要素に移動するようにスクロールすると、そのスクロール可能なdivはすべてのスクロールイベントをキャプチャし、グリッド上でのユーザーのフローを中断し、グリッド内に「トラップ」します素子。Javascript:カーソルがスクロール可能なdivの上を通過する場合、スクロールウィンドウを停止しない
AFAIKには垂直方向から水平なマウスホイールの動きをキャプチャする方法がないため、手動でonmousewheel
イベントをキャプチャすることはできません。Mac OS Xのユーザーはすべての方向にスクロールできるようにします。私は、最初のonscroll
イベントで非常に高いz-インデックスを持つ目に見えないdivを追加するためにJSを使用することを考えていました.イベントが特定の期間トリガされなくなるとすぐに削除しました。これをまだコード化していないが、もっと良い解決策があるのか、それとも私が考えていない潜在的な落とし穴があるのだろうかと思っている。どんな助けや助言も素晴らしいでしょう!ありがとう!
これは迷惑ですが、回避策ははるかに薄れています。また、IMHOが決して良いことではない標準的な振る舞いを変えます。 – Mrchief