2009-07-30 6 views
1

私は、input_txtのインスタンス名とoutput_txtという名前の動的テキストフィールドを持つ入力テキストボックスを持っています。私は、ユーザーが入力フィールドにテキストを入力したときに、動的フィールドで何かをしようとしています。これまでのところ、これは私が持っているものです:ActionScript 3.0:ユーザーがテキストを入力したときに関数を実行する方法は?

input_txt.addEventListener(TextEvent.TEXT_INPUT, update); 

function update(event:TextEvent):void { 
    output_txt.text = "foobar"; 
} 

これは有効なActionScript 3.0であるかどうかわかりません。 「クラス 'TextEvent'をロードできませんでした」というエラーが表示されます。私は間違って何をしていますか?

+0

あなたのコードは正しいですが、どこに入れていますか?タイムライン?カスタムクラス? – amoeba

+0

メインタイムラインのアクションレイヤーのフレーム1 – Andrew

+0

これは奇妙です...あなたはどのIDEを使用していますか? **本当に**壊れているようです... – back2dos

答えて

2

あなたは、適切にActionscript 2.0 .flaで作業しています。
新しいファイルを作成する> Actionscript 3.0

タイムラインスクリプトでインポートする必要はありません。テキストボックスと元のコードを入力するだけで大​​丈夫です。あなたは私が1つの文字TEXT_INPUT遅れユーザー更新の問題を持っていたので、私

Event.CHANGE

TextEvent.TEXT_INPUT

を使用して得られる結果かを確認するには

+0

あなたはまったく正しいです。どのように2.0になったのか分かりませんが、新しいファイルを作成してしまえばうまくいきました。あなたが言ったように、「flash.events。*」をインポートする必要はありません。 – Andrew

+0

乾杯、幸運! – amoeba

0

私は似たようなことをしました。しかし、私は代わりにCHANGEイベントに耳を傾けました。フィールドを実際に変更していないときにスローされることがあるので、ややこしいことです。

ですので、(Event.CHANGE、update);に耳を傾けてください。

+0

私は同じ結果を得ました: "クラスまたはインターフェース 'イベント'をロードできませんでした。どうすれば違うのですか? – Andrew

+0

import flash.events。*; すべてのイベントクラスをインポートし、それが機能するかどうかを確認します。^_ + – martinlindelof

1

「import flash.events.TextEvent」が不足している可能性がありますか?また、特定のフレーム内に配置するのではなく、アクションスクリプトファイル(* .as)にコードを配置する必要があります。

+0

"import flash.events.TextEvent"をコードの先頭に追加しました。「クラスまたはインターフェイス 'flash.events.TextEvent'を読み込めませんでした」というエラーが表示されるまたは 'TextEvent'インターフェースをロードできませんでした。私は何か間違って入力しましたか? – Andrew

0

チェックCHANGEイベントに切り替えました。

関連する問題