0

tlftextfield にデフォルトのテキストがあり、最初に (!) クリックして独自のテキストを入力すると削除されます。ただし、関数を FocusEvent.FOCUS_IN にアタッチすると、テキストフィールドはフォーカスを失います。これは私が現時点で持っているものです:

function clearField(event:FocusEvent) {
    if (event.currentTarget.text == defaultText[event.currentTarget.name]) {
        event.currentTarget.text="";
        event.currentTarget.textFlow.interactionManager.setFocus();
    }
}

ハンドラーは次のようにアタッチされます。

rmDiagnose.txtDiagnose.addEventListener(FocusEvent.FOCUS_IN, clearField);

ここで何が欠けていますか?

4

1 に答える 1

1

setFocus()インタラクション マネージャ ( )のメソッドを使用していますISelectionManagerドキュメントには、このメソッドは、選択したテキストを含むコンテナーにフォーカスを設定するためのものであると記載されていることに注意してください。

このメソッドは、マウスで選択したテキストに対してのみ機能します。あなたのシナリオでは、選択されたテキストはありません。

代わりに、通常の手段を使用してオブジェクトに焦点を合わせます。あなたの場合:

stage.focus = InteractiveObject(event.currentTarget); 
于 2013-08-06T16:22:08.307 に答える