2007年12月24日月曜日

Flexで日本語をリアルタイム処理したいとき

TextInputのtextInputイベントでは、日本語文字列を1文字づつ拾えるだけで、文字列としては拾えない。ペーストの時は拾えるけど。(たぶん、日本語確定時に1文字づつ数msecぐらいのタイムラグがあるんだろうど)

文字列として何か処理を行いたい場合は、Timerと併用して

・textInputイベントでtimer.start()する

・timerから100msec後に呼んでもらい、TextInput.textやTextInput.htmltextを取得する。

とするとうまくいく。

ちなみに、TextInputに入力したものを何かしらの判定を行い、色を付けたりした場合、

・TextInput.htmltextにタグ付きの文字列を入れる

・この状態でTextInput.textから文字列を得ると、タグなし状態の文字列が取得できる。

という使い方が出来るので、入力されたものが正しいかどうかをリアルタイムで検証するときなどに使えそう。

0 件のコメント: