2009-05-12 11 views
1

私はhtmlドキュメントに埋め込まれたflexアプリケーションからactivateにExternalInterfaceコールを使用しています。コールは、Firefoxが文書本体に100%集中していないことを除いて、Firefoxでthis.focus()が正しく動作しない

function documentFocus() { 
    this.focus(); 
} 

すべてが魔法のように動作しませんJavaScriptの機能へ進みます。 onkeyupイベントのリッスンを停止します(まだonkeydownを登録しています)。

非常に奇妙な動作です。誰かが何が起こっているかの手がかりを持っていますか?

ここでそれを試してみてください。再現するのhttp // www.willemdemmers.com/dplxr/

ステップ: てみ矢印ボタン正常な動作を確認する(矢印画像がKeyDownイベントに赤く点灯し、KeyDownイベントに光を停止します) ウィンドウの下部にあるフラッシュをクリックして、ドキュメント本文からフォーカスを削除し、関数呼び出しを呼び出します。 もう一度矢印ボタンを押して、新しい動作を確認してください。

キーイベントは、矢印キー(左右)からトリガします。

ありがとうございます!

答えて

0

私は、クリックしたときにフラッシュがキーボードから欲張り、あなたから離れてしまうことが問題だと思います。

これはyoutubeで実際に見ることができます。ビデオを選択すると、上下の矢印を使用してページを上下にスクロールできます。しかし、フラッシュ領域(ビデオ)をクリックすると、これを行うことはできません。フラッシュはキーボードをつかむので。

+0

これは、私が関数呼び出しで防止しようとしているものです。 Safariではうまく動作しますが、Firefoxでは半分しか動作しません – Willem

+0

これはお試しください。 http://stackoverflow.com/questions/789771/flash-flex-sdk-as3-how-to-keep-keyboard-focus –

0

がこれをチェックアウト: http://code.google.com/p/custom-context-menu/

をそれはJavaScriptを使用してフラッシュの右クリックを無効にするプロジェクトだし、それがそうする時にフラッシュを伝えます。さらに、非常に多くのブラウザで動作します。

ない100%のソリューションがありますが、あなたのニーズこれは実際に私が望む長年Firefoxのバグが修正されるだろうさ

+0

私は右クリックで問題が発生していません。問題は、Firefoxではthis.focus()またはdocument.body.focus()が意図したとおりに動作しないことです。 – Willem

1

のために彼らのJSコードを適応させることができるはずです。私はMozillaのバグ番号を手にしていないことを覚えていません。

0

入力要素を隠し(または絶対的に離れて)フォーカスしてからドキュメントをフォーカスしようとすることがあります。入力はほとんどネイティブな要素なので、役立つ可能性があります。

関連する問題