■前提
・JavaScriptで「上下左右キー」を利用してある動作をしています
・普通のページだと「上下左右キー」が問題なく使えます
■困っていること
・ところが、縦長のページの時だけ、「上下キー」を押すと、ページスクロールしてしまい、思ったような動作ができません
・左右キーは、使えます
■質問
・JavaScriptのところにマウスをおくと、「上下キー」はそのJavaScriptに対して有効になるようにするにはどうすれば良いでしょうか?
・もしくは、「ページスクロール」しなくて良いので、「上下キー」は常にそのJavaScriptに対して有効になるようにするにはどうすれば良いでしょうか?
No.1
- 回答日時:
項目を分けた美しい文章形式ですが、動作環境や作品の詳細を書くとなおよいでしょう。
勝手に私が好きなIEで話を進めます。私が作ったことがある上下左右でキャラを動かすスマブラみたいな作品で話を進めます。
「■質問」の二番目への答えになると思いますが、
「あふれ出た部分(overflow)を隠しちゃう(hidden)」というスタイルシートによって、スクロール機能を抹殺することができます。
ページ全体に対して行うならば、
---
<body style="overflow:hidden;">
---
で解決するでしょう。
スクロールバーを残したいのであれば、心当たりがありますがテストが面倒なのでまずはこの辺で。
回答ありがとうございました。
今回はjsについて知りたかったのですが、試してみてどうしてもうまくいかない場合は、最終的にこの方法もありかな、と思いましたー
No.2
- 回答日時:
[実行ボタン]などで、フォーカスをその要素に当たるようにする。
他の部分をクリックすると、ページがスクロールできるようにしておかなければなりません。
No.3ベストアンサー
- 回答日時:
こんにちは。
>縦長のページの時だけ、「上下キー」を押すと、ページスクロールしてしまい、
>思ったような動作ができません
通常のブラウザの仕様ですので、それを変えない方がユーザにとってはわかり易い操作になりませんか?
>JavaScriptのところにマウスをおくと、「上下キー」はそのJavaScriptに対して
>有効になるようにするにはどうすれば良いでしょうか?
「JavaScriptのところにマウスをおくと」が、どのような操作を意味しているのか不明ですが、ブラウザのあるエリアにマウスがある時にキーによるスクロールを無効にすることは不可能ではありません。
そのような条件が揃った時に、スクリプトから event.returnValue = false(IE)、event.preventDefault()(Fx他)を実行することでキーイベントをキャンセルすることが可能です。
>「上下キー」は常にそのJavaScriptに対して有効になるように
>するにはどうすれば良いでしょうか?
上下キーがスクリプトを無効にしてはいないはずです。スクリプトを実行した上で、本来の処理もされているだけではないでしょうか?
スクリプトの内容が、スクロールを制御するような内容の場合は、機能の内容が矛盾するために処理されていないように見えることはあるかも知れません。
そもそも、ローカルルールで設定するキーの機能を、わざわざデフォルトの機能に被せて設定することに疑問を感じます。
テンキーの8、2など他のキーに割り当てるとか、ブラウザ上に操作用の方向キーを表示してそれをマウスで操作するとかの発想転換はありえないのでしょうか。(操作の目的が不明なので、なんともわかりかねますが)
回答ありがとうございました
>通常のブラウザの仕様ですので、それを変えない方がユーザにとってはわかり易い操作になりませんか?
・確かにその通りなのですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Chrome(クローム) HPの様子が変わった 2 2022/03/25 05:37
- Windows 10 画面上の[タスクバー]の位置の変更 1 2022/06/12 21:10
- Mac OS MacBook Airに外付けテンキー(有線)を接続しましたが、認識してくれません。 MacBook 2 2022/10/08 19:10
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
- Word(ワード) Word差し込み印刷 QRコードの画像が同じ仕様になる 1 2022/10/28 16:41
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- マウス・キーボード ノートPCのHome,Endキーが動作しなくなって困っています。PgUp,PgDnも。 2 2022/07/30 20:50
- Word(ワード) Word2013 縦書き上下二段の表、改行を続けると次ページに情報が表示されるようにしたい 3 2022/06/16 09:24
- マウス・キーボード Tabキーとテンキーが右側にあるワイヤレスキーボード を探しています。 仕事上数字を入力することが多 3 2022/09/22 21:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでフォームのListbo...
-
リストビューをスクロールさせ...
-
Excelでワードアートや図を常に...
-
PDFを(htmlのように)無限に縦...
-
Excelの質問で票の途中に...
-
Excelで一部分だけを常に表示さ...
-
Excelで1.2行目だけ固定して...
-
ExcelVBAで他のアプリをスクロ...
-
ページ訪問時にiframe内を自動...
-
webページで横方向にアンカーを...
-
JTableとJScrollPaneについて
-
複数の画像を横にスクロールさ...
-
リストボックスをクリックした...
-
webデザインです。 プログラミ...
-
Visual Basicから Spreadのスク...
-
VBE画面の縦のスクロールバ...
-
ページ読み込み時に自動でスク...
-
vb,netでtextboxの文字を右から...
-
jQueryで指定した要素を自動横...
-
写真を右から左にスクロールさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
エクセルVBAでフォームのListbo...
-
PDFを(htmlのように)無限に縦...
-
リストビューをスクロールさせ...
-
Excelで1.2行目だけ固定して...
-
Excelの質問で票の途中に...
-
Excelで一部分だけを常に表示さ...
-
大きい表へのスクロールバーの...
-
ページ訪問時にiframe内を自動...
-
Visual Basicから Spreadのスク...
-
vb,netでtextboxの文字を右から...
-
webページで横方向にアンカーを...
-
リストビューの表示開始行変更
-
スクロール位置を中央にしたい
-
マウスオーバー→ホイール回転で...
-
VBE画面の縦のスクロールバ...
-
IFRAMEでscrolling="yes|no"の...
-
マウスでコロコロしたいんですが…
-
文章の自動スクロール
-
アコーディオンで開かれたパネ...
おすすめ情報