- ベストアンサー
スクロールマウスのスクロールボタン制御
こんにちわ。 ご存知の方がいらっしゃいましたら、ぜひ教えてください。 現在、WEBページでスクロール制限をかけています。 スクロールバーが存在しないので、基本的にスクロールマウスのスクロールボタンをゴロゴロやっても下にスクロールしないのですが、スクロールボタンを押してしまうと、スクロールしてしまいます。 これを制御する(使えなくする)ことはできるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
cat_tomatoさん、こんにちは。 ちょっと調べた中では、良い手段は、見あたりませんでしたし、思いつきませんでした。 代替案としては、真ん中のボタンを押されたら、alertを出して、警告ダイアログにフォーカスを無理矢理移動して、スクロールボタン押下・イベントを強制的に解除させる方法があります(フォーカスなら、winodw.blur()で一旦失って、すぐにwindow.focus()で取り直す方法もあり得るかと試したけど、スクロールボタン押下・イベントは残ってしまいました)。 この方法を採られるには、以下の手順でお願いします。 スクロールを制御するHTMLソースのbodyタグにonMouseDownイベントを設定します。 下記の例は、関数funcを呼んでいます。引数の「window.event」はそのときのイベントを表すオブジェクトです。さらにその「window.event」の「button」は、どのボタンが押されたか意味します。 <body onMouseDown="func( window.event.button )" 後は、押されたボタンが真ん中か判定します。 window.event.button が1なら左、2なら右、4なら中、同時押しならその足し算です。 function func( buttonPos ) { if ( buttonPos == 4 ) { alert("このページでスクロールは禁止"); } }