0

動的テキストを「聞く」方法はありますか?ステージ上にこの動的テキストフィールドがあり、動的テキストが変更されたら関数を呼び出したいと思います。イベントリスナーを追加しようとしましたが、INPUTテキストでのみ機能するようです。助言がありますか?ありがとう

4

4 に答える 4

4

@annonymously の回答は機能しますが、enterFrame リスナーをアタッチしてテキストの変更 (またはその点での変更) を待機することはお勧めできません。 、それが避けられる場合は?監視する新しいテキスト フィールド インスタンスごとに、何度も何度も実行する必要があるという事実は言うまでもありません。

実際の変更に対応することをお勧めします。これらは、独自のプロパティ設定によって引き起こされます。TextField クラスを拡張し、htmlText および/またはテキストのセッターをオーバーライドして、変更イベントをディスパッチする必要があります。

override public function set text ( text : String ) : void {
    super.text = text;
    dispatchEvent (new Event (Event.CHANGE);
}
于 2011-12-18T10:09:49.660 に答える
0

イベントやってみたCHANGE?非入力のものを含むすべてのタイプの TextField で機能するはずです。

于 2011-12-18T09:56:55.887 に答える
0

あなたが言ったように、入力テキストのみが CHANGE イベントを送出します。おそらく次のように、回避する必要があります。

var oldText:String = "";

function changeEnterFrame (e:Event) {
    if (oldText != textField.text) {
        // Do your stuff here
    }
    oldText = textField.text;
}

addEventListener(Event.ENTER_FRAME, changeEnterFrame);
于 2011-12-18T09:57:03.170 に答える