2

高さのあるdivがあるoverflow-x: hiddenので、垂直スクロールバーが表示されます。これで、マウスホイールを使用してページ全体をスクロールすると、カーソルがそのdivの上部に移動すると、ページではなくdivのスクロールが開始されます。この特定のdivでマウスのスクロールを削除することは可能ですか?

4

4 に答える 4

7

その div のコンテンツがどれほど重要かはわかりませんが、別の解決策は、ポインターが div に影響を与えないようにすることpointer-events:noneです。詳細については、こちらをご覧ください。

于 2013-03-03T11:27:11.543 に答える
1

これに似た何かを達成できると私が考える唯一の方法は、その特定のdivのマウスオーバーイベントをキャプチャし、ページ全体のホイールを無効にして、mouseoutで再び有効にすることです。この投稿では、ページ全体のホイールを無効にする方法を見ることができます:一時的にスクロールを無効にする方法は?

于 2013-03-03T11:39:31.050 に答える
0

いいえ、ユーザーはマウスホイールでスクロール可能な領域をスクロールできることを期待しており、ユーザーはその上にマウスポインターを移動して、スクロール可能な領域を選択します。

設定することでスクロールを無効にすることができますoverflow-y: hiddenが、そうするとスクロールバーが消えます。

于 2013-03-03T11:23:44.480 に答える
0

にハンドラーを追加できると思います

onmousewheel 

イベントがスクロールしないようにします (これは HTML5 としてリストされているため、古いブラウザーでは機能しない可能性があります)。ここにイベントの完全なリストがあります: http://www.w3schools.com/tags/ref_eventattributes.asp

于 2013-03-03T11:26:20.263 に答える