2011-01-14 18 views
1

私はフルスクリーンフレックスアプリケーションを使用しており、ブラウザのスクロールバーを使用してスクロールできるようにします。私はflexアプリケーションでマウスホイールは必要ありません。flexはマウスホイールイベントをブロックするように見えます。ですから、マウスホイールイベントは何もしません。フレックスアプリケーションでマウスホイールを無効にし、代わりにイベントをブラウザに渡します

+0

このようなことはブラウザによって大きく異なります。 Flashにスクロールイベントを渡すのはブラウザです。これを行うためにFlashで何かできることは間違いありません。あなたのアプリが全画面表示である場合、ブラウザがFlashアプリケーションをスクロールしていれば問題ありませんか? – JeffryHouser

答えて

1

これは、外部インターフェイスから簡単に実行できます。 swfがMouseEvent.MOUSE_WHEELイベントを受け取るたびに、ページをスクロールするjavascript関数を呼び出します。 jQueryはこれを利用できます。

スクロールイベントは、さまざまなブラウザ/オペレーティングシステムで処理されるため、多数のテストを行う必要があります。たとえば、私が最後にチェックしたのは、実際にjavascriptからスクロールイベントをOSX上でフラッシュに送る必要がある場合でした。スクロールホイールはデフォルトでswfでなくページ上で動作するはずですので、あなたにとっては良いニュースです。

だから、荒廃することができます:

  • がに、MouseEvent.MOUSE_WHEELイベントを取得します。ユーザーが実行されている場合、スクロール
  • の方向とJavaScriptにコールアウトはjqueryの
  • 無効に応じてこのすべてをページを移動
  • OSX
  • テストたわごとそれのうち
1

Flash Player 10以上をターゲットにしている場合は、wmode = "direct"を使用できます。マウスホイールのイベントは、Flashとブラウザの両方で機能します。 Flexアプリケーションでそれらを使用していないので、マウスホイールはページをスクロールするだけです。

PC Chrome 17、Firefox 3.6、IE 8で動作します。

関連する問題