私は、focusOutイベントにはいくつかのフィールドと1つのテキストフィールドを持つフレックスアプリがあります。TextInputのFlex focusOutイベントとポップアップでフォーカスが削除されませんか?
<mx:FormItem label="Last" x="226" y="1">
<s:TextInput id="lastNameClientTextInput" text="@{_currentEditClient.lastName}" change="textFieldChangeCapitalize(event)" focusOut="lastNameClientTextInput_focusOutHandler(event)"/>
</mx:FormItem>
予想したように、Iタブをか、それは私の「lastNameClientTextInput_focusOutHandler」メソッドを実行した値を入力した後、フィールドの外をクリックしました単純にポップ・アップ新しいウィンドウ:
protected function lastNameClientTextInput_focusOutHandler(event:FocusEvent):void
{
clientSearchPopUp = new ClientListWindow();
PopUpManager.addPopUp(clientSearchPopUp, this, true);
PopUpManager.centerPopUp(clientSearchPopUp);
}
ウィンドウがそうすることを「PopUpManager.removePopUpを(この);」ユーザーが閉じるボタンをクリックしたとき。
しかし、問題は、ウィンドウが閉じてフォーカスがlastNameClientTextInputに戻ったときです。私はフィールドからクリックしたりタブを外したりできません!
私がタブアウトすると、最初にibeamカーソルがタブ名(アドレス)の次のフィールドに移動してから、ウィンドウがポップアップするのが見えます。ウィンドウを閉じると、姓のフィールドに戻り、値が強調表示されます。
focusOutイベントを検証するために何かを行う必要があるかのようですか?
私は不思議なことに、なぜあなたはテキスト入力に焦点を当ててポップアップをしたのですか?非常に奇妙で非標準的なUXの動作です。 –
人は名字を入力し、新しいクライアントを追加し、タブを押す(またはクリックする)と、アプリは重複チェックを行い、可能な重複のリストをポップアップしています。それは奇妙なものですが、それは顧客/クライアントの名前の重複チェック機能を持っているほとんどのビジネスアプリケーションで私がいつも見てきたことです。ユーザーが最初に手動で検索するのではなく、特に珍しい姓の場合は、クリック数/ステップ数を節約できる可能性があります。 –
ポップアップの代わりに、代わりにドロップダウンリストがありますか?検索完了ボックスのように? (グーグルだと思うが、代わりにあなたに可能な名前を与える)。そのような場合は、ポップアップが不要で、 'onFocusOut'を確認する必要はありません。あなたは '変更'にそれを行う必要があります。 –