フォーラム一覧 - トピック一覧 ActionScript 3.0
マウス ホイール時に,ブラウザのスクロールをさせたくない | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| midge | 投稿日時: 2007-5-15 19:37 |
やや お馴染みさん ![]() ![]() 登録日: 2007-5-15 居住地: 金沢市 投稿: 9 |
マウス ホイール時に,ブラウザのスクロールをさせたくない FlashはActionScript 3.0から入った初心者です,よろしくお願います.
質問は,次の通りです. フラッシュアプリでマウスホイールを処理しているのですが, ブラウザの画面も上下にスクロールしてしまいます. フラッシュアプリにフォーカスがある場合に このブラウザ画面のスクロールを完全に無くしたいのですが, なにかいい方法はないでしょうか? 次のようなサンプルで考えています. よろしくお願いします. |
| venzou | 投稿日時: 2007-5-15 21:28 |
ご主人様 ![]() ![]() 登録日: 2007-1-25 居住地: 穴の中 投稿: 101 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない こんばんは
![]() JavaScript と ExternalInterfaceを使う方法はいかがでしょうか? sample.mxml sample.html WindowsXPの IE6、Firefox2で動作確認。 Opera8はホイールイベントに対応してない。 Opera9は対応しているらしいです。(未確認) |
| midge | 投稿日時: 2007-5-16 10:23 |
やや お馴染みさん ![]() ![]() 登録日: 2007-5-15 居住地: 金沢市 投稿: 9 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない ありがとうございます!
返事が遅くなりました. ブラウザ依存になりますが,メジャーなブラウザでは大丈夫そうなので,なんとかなりそうです. WindowsXPのOpera9でも動作を確認できました. また,Linux (Debian GNU/Linux 3.1)では,次で動作を確認しました. Firefox 1.0, Netscape 7.1 以下は蛇足です. mx.contorols.Listの挙動をみると, Listのスクロールが上端(または下端)までいってから,ブラウザのスクロールが発生しているので, Flashのみで制御する方法もあるのかも知れません. これについては気長に探してみます. まずは解決策をありがとうございました. |
| venzou | 投稿日時: 2007-5-17 11:14 |
ご主人様 ![]() ![]() 登録日: 2007-1-25 居住地: 穴の中 投稿: 101 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない 引用:
mx.contorols.Listの挙動をみると, この状態を再現しようとしてみたのですが、 私の環境では再現できませんでした・・・(^^; (WindowsXP / FlexSDK2.0.1 / FlashPlayer9,0,16,0 / IE6.0, Firefox2.0) なにか、特別な処理が必要でしょうか? もし、よろしければ、詳しく教えて下さい。 試したサンプルを書いておきます。 samlpe.mxml sample.html リスト部分をクリックしてから、ホイールを回しましたが、 リストと同時にブラウザもスクロールしてしまいます。 |
| dyo | 投稿日時: 2007-5-17 13:13 |
お馴染みさん ![]() ![]() 登録日: 2006-4-3 居住地: 投稿: 15 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない 解決したそうなので問題ないですが、以前同じ様な悩みを自分で解決したときもjavascriptを使用しました。
FlashエリアのonMouseOver Outを判定してアクティブにする方法です。as2ですがas3でも応用できるはずです。 http://dyo.jp/blog/2007/03/flashjsbeta.html 御参考ください。 |
| midge | 投稿日時: 2007-5-17 15:50 |
やや お馴染みさん ![]() ![]() 登録日: 2007-5-15 居住地: 金沢市 投稿: 9 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない 失礼しました,試してみたのはTextAreaでした. mx.contorols.TextArea 以下サンプルです. ScroolTest.mxml ScroolTest.html |
| midge | 投稿日時: 2007-5-17 16:01 |
やや お馴染みさん ![]() ![]() 登録日: 2007-5-15 居住地: 金沢市 投稿: 9 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない ご意見ありがとうございます.
実は私も同じことを考えてまして, AS3で次のように実装しました. 以下,参考まで. WheelTest.mxml |
| niea | 投稿日時: 2007-5-18 7:50 |
お馴染みさん ![]() ![]() 登録日: 2006-4-2 居住地: Christchurch, NZ 投稿: 11 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない ちょっとちがうかもしれませんが、スクロールバー自体を消すとどうでしょうか?
<style> body{ overflow:hidden } </style> IE、FireFoxでは正常に動きますが、オペラでは無理っぽいです。ネスケは未確認。たぶん動くかな?
|
| midge | 投稿日時: 2007-5-18 9:13 |
やや お馴染みさん ![]() ![]() 登録日: 2007-5-15 居住地: 金沢市 投稿: 9 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない 面白いアイデアですね!
残念ながら今回は,作成したswfをお客さまのHPへ埋め込む形で提供するため, 見た目が変化する実装は難しいですが... 私にはなかった発想なので,刺激になります. |
| venzou | 投稿日時: 2007-5-18 13:12 |
ご主人様 ![]() ![]() 登録日: 2007-1-25 居住地: 穴の中 投稿: 101 |
Re: マウス ホイール時に,ブラウザのスクロールをさせたくない 引用:
mx.contorols.TextArea ありがとうございます。TextAreaで現象を確認できました。 確かに、これが応用出来ればFlashレベルで、 イベントの伝播を止められそうですね。 この現象を解明すべく、ソースを追ってみましたが、 flash.text.TextFieldの内部で処理されてる様なので、 詳細は分かりませんでした。 色々調べて見ましたが、どうもFlexのイベント処理体系とは別の イベント処理がされている感じです。 確認サンプル Stageのキャプチャ段階でイベントを止めています。 Listの方にはイベントは届かないので、Listはスクロールしませんが、 TextArea(TextField)には効果がありません。 TextAreaの方もイベントは発生し、イベントを止める処理を通っていますし、 TextAreaのmouseWheelイベントは発生しないので、イベントは止まっているはずですが、 TextAreaのスクロールを止めることは出来ません。 と、いう事で、手の届かない場所で処理されてる感じです。(^^; これを利用するのは難しそうですね。orz |
| (1) 2 » | |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |