• ベストアンサー

スクロールマウスのスクロールボタン制御

こんにちわ。 ご存知の方がいらっしゃいましたら、ぜひ教えてください。 現在、WEBページでスクロール制限をかけています。 スクロールバーが存在しないので、基本的にスクロールマウスのスクロールボタンをゴロゴロやっても下にスクロールしないのですが、スクロールボタンを押してしまうと、スクロールしてしまいます。 これを制御する(使えなくする)ことはできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#3852
noname#3852
回答No.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("このページでスクロールは禁止");   } }

関連するQ&A