高さのあるdivがあるoverflow-x: hidden
ので、垂直スクロールバーが表示されます。これで、マウスホイールを使用してページ全体をスクロールすると、カーソルがそのdivの上部に移動すると、ページではなくdivのスクロールが開始されます。この特定のdivでマウスのスクロールを削除することは可能ですか?
4 に答える
その div のコンテンツがどれほど重要かはわかりませんが、別の解決策は、ポインターが div に影響を与えないようにすることpointer-events:none
です。詳細については、こちらをご覧ください。
これに似た何かを達成できると私が考える唯一の方法は、その特定のdivのマウスオーバーイベントをキャプチャし、ページ全体のホイールを無効にして、mouseoutで再び有効にすることです。この投稿では、ページ全体のホイールを無効にする方法を見ることができます:一時的にスクロールを無効にする方法は?
いいえ、ユーザーはマウスホイールでスクロール可能な領域をスクロールできることを期待しており、ユーザーはその上にマウスポインターを移動して、スクロール可能な領域を選択します。
設定することでスクロールを無効にすることができますoverflow-y: hidden
が、そうするとスクロールバーが消えます。
にハンドラーを追加できると思います
onmousewheel
イベントがスクロールしないようにします (これは HTML5 としてリストされているため、古いブラウザーでは機能しない可能性があります)。ここにイベントの完全なリストがあります: http://www.w3schools.com/tags/ref_eventattributes.asp