フォーラム一覧   -   トピック一覧
   Flex 4 SDK
     起動時のFlexへのフォーカスについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
mura57
投稿日時: 2011-8-23 21:15
やや お馴染みさん
登録日: 2010-6-18
居住地:
投稿: 6
起動時のFlexへのフォーカスについて
こんにちは、いつもお世話になっております。
質問させていただきます。

■ 起動時のフォーカスについて
ログイン画面を作っています。
Flexアプリ起動直後にユーザID入力欄に自動的にフォーカスを持っていくような、
わりとよくある処理をやろうとしています。

↓やったこと

1. index.template.htmlをいじって、OnLoadでJavaScriptでFlashのオブジェクトにfocus()

2.ActionScriptで<s:TextInput>にsetFocus()

これでIEとFireFoxはうまくいきました。
が・・・Chromeだけ全く効果がありません。
Flex起動後にFlexアプリを一度クリックする必要があります。

自動的にFlexがフォーカスされ、読込直後に
そのままキーボード入力を受け付けるようになるのが理想です。

どなたか、解決方法をご存知ないでしょうか?
よろしくおねがいします。

Flex4.5.1
Chromeのバージョンは最新です。13.0です。

dsh
投稿日時: 2011-8-24 1:10
ご主人様
登録日: 2006-3-29
居住地: 東京
投稿: 294
Re: 起動時のFlexへのフォーカスについて
こんにちは、

基本的にはGoogle Chromeのバグのようですよ。
http://code.google.com/p/chromium/issues/detail?id=27868

上記のスレッドの中で回避策が紹介されており、Chrome 14.0.835.94 beta-mで試しましたが一応動作しました。

ポイントは、
・JSで、focus()する前にtabIndex=0を設定
・HTMLで、Flashに対してwmode="opaque"を指定
の2点です。

ただし制限があって、Chromeでwmode="opaque"を指定するとIMEがうまく動かないようで、日本語が入力できませんでした。
http://www.google.com/support/forum/p/chrome/thread?tid=61cd795f09691b90&hl=ja
http://baseonmars.co.uk/bugs/wmode/
(Chromeの新しいバージョンに期待... )

サンプルはこちらに置きました(ソースは右クリックしてView Sourceで)
http://shield.jp/~dseg/flex/autoSetFocusOnLoad/autoSetFocusOnLoad.html


----------------
http://shield.jp/blog/
Twitter: @dseg

mura57
投稿日時: 2011-8-24 9:15
やや お馴染みさん
登録日: 2010-6-18
居住地:
投稿: 6
Re: 起動時のFlexへのフォーカスについて
Chromeのバグなんですね

サンプル拝見しました。
自動でフォーカスされました!
が、ホントに日本語が入力できないですね・・・。

まともな動作を期待するなら、どちらかが改善されるのを待つしか無いようで。
ご回答、ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を