OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 暇なときにでも
  • 質問No.159980
  • 閲覧数552
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 66% (49/74)

こんにちわ。

ご存知の方がいらっしゃいましたら、ぜひ教えてください。

現在、WEBページでスクロール制限をかけています。
スクロールバーが存在しないので、基本的にスクロールマウスのスクロールボタンをゴロゴロやっても下にスクロールしないのですが、スクロールボタンを押してしまうと、スクロールしてしまいます。
これを制御する(使えなくする)ことはできるのでしょうか?
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答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("このページでスクロールは禁止");
  }
}
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ