ネストされたムービークリップ、コンポーネント、スクリーンベースのアプリケーションでタブが無効になってしまう。
コンポーネントがステージ上に配置されると、FocusManager がデフォルトでアクティブになるため、通常、 Flash Player がハンドルしていたタブ機能が無効になります。FocusManager がアクティブの場合、オブジェクトはFocusManager に監視されるはずです。
ムービークリッププロパティと共に FocusManager クラスを使用して、コンポーネントおよびネストされたムービークリップオブジェクトのタブインデックスを有効にします。
以下のサンプルはテキスト入力フィールドが配置されているムービークリップを2つ、またテキストフィールドコンポーネントも配置してあります。
以下がフレームアクションに記述するタブシーケンスの ActionScript サンプルコードになります。
//set mc container properties to enable tabbing thru child objects
mc1.tabChildren=true;
mc1.tabEnabled=false;
mc2.tabChildren=true;
mc2.tabEnabled=false;
//set the tabbing sequence
mc1.inTxt_1.tabIndex = 1;
mc1.inTxt_2.tabIndex = 2;
mc1.inTxt_3.tabIndex = 3;
tf_4.tabIndex = 4;
mc2.inTxt_5.tabIndex = 5;
mc2.inTxt_6.tabIndex = 6;
mc2.inTxt_7.tabIndex = 7;
ブラウザとの相互関係もありますので、ユーザーが Flash オブジェクトをクリックしない限り、Flash オブジェクトにフォーカスが当たりません。以下の ActionScript にてテキストオブジェクトにフォーカスを当てることが可能となりますが、ブラウザとの相互関係は変わりませんので、Flash オブジェクト内のタブを有効にするにはFlash オブジェクトをクリックする必要があります。
// set initial focus to the first input text object
focusManager.setFocus(mc1.inTxt_1);
また、タブオーダーを ActiveX Flash オブジェクト内に制限するには、次のパラメータを HTML ファイルの <object> タグに挿入する必要があります。
<param name="SeamlessTabbing" value="false" />
詳細に関しましては、Flash ヘルプの[Flash コンポーネントガイド]-[コンポーネント辞書]-[FocusManager クラス]および MovieClip クラスをご参照ください。
| 最終更新日: | 2005年8月26日 |
|---|---|
| 作成日: | 2005年2月3日 |
| ID: | tn_18983 |
|---|---|
| Product: | Flash |
| Versions: | 2004 and above |
| OS: | All |
| Browser: | All |
| Server: | N/A |
| Database: | N/A |
| Former ID: | N/A |