0

私が抱えている問題をグーグルで検索すると、いつも驚きますが、似たようなものをまったく見つけることができません。実際、同じ問題を説明している唯一の投稿がここにあります:フィールド間のタブ移動 - カーソルはどこに消えますか?

残念ながら、その質問には回答がありませんでした。私はまったく同じ問題を抱えています。唯一の大きな違いは、TLF テキストの代わりにクラシック テキストを使用していることです。

私のフォームは、入力フィールドが 2 つある as3 にセットアップされています。1 つ目は tabIndex が 0 に設定され、2 つ目は 1 に設定されています。タブを押すと、カーソルが消えます。さらに2回押すと、ついに表示されます。

何が起こっているかを観察するために、以下のコードを配置しました。

var iox = function() {
trace(_root.stage.focus);

if (_root.stage.focus != null) {
    trace(_root.stage.focus.parent.name)
}

setTimeout(iox, 400);
}

iox();

フォーカスまたは他のオブジェクトを取得するために非表示になっている可能性のある他のフィールド ファイルが表示されることを期待していました..しかし、フォーカスを取得するオブジェクトは 2 つだけであることがわかりました。1 つのフィールドに入力した後、Tab キーを 1 回だけ押すと、フォーカスが別のフィールドに切り替わります。ただし、点滅するカーソル インジケーターと、フィールドにテキストを入力する機能は、ボタンを 3 回押すと表示されます。

何か案は?

4

2 に答える 2

0

表示リストの他のアイテムのtabEnabledプロパティが true に設定されているかどうかを確認します。TabEnabled プロパティの説明trueに設定されている MC では、buttonModeこれが有効になっています。チェックすると、リストにこの設定のオブジェクトが 2 つあるようです。nameそのため、手動チェックを実行するか、trueを持つオブジェクトの少なくともクラス名とプロパティをクエリして、完全なディスプレイリスト ウォークを実行tabEnabledします。

于 2013-08-21T09:16:01.610 に答える
0

さらに掘り下げて試行錯誤した後、問題を解決することができました。基本的に、FocusManager クラスをインポートしてアクティブ化するだけで済みました。その後、トリプルタブボタンは消えました。

import fl.managers.FocusManager;
var fm = new FocusManager(myclip);
myclip.txt1.tabIndex = 0;
myclip.txt2.tabIndex = 1;
于 2013-08-21T09:15:25.870 に答える