以前、Flex の TextInput についておかしなことを書いていたので訂正。
- Flex2 で漢字の変換中にも、keyUp イベントが発生する件について
-- http://aoi-project.com/pblog/article.php?id=11
-- [概要] 先日、AIRで作った海外製のTwitterクライアントを使ってみたのですが、漢字変換を確定した時点で、Enterキーを押したとみなされて、発言が書き込まれてしまうのです。
これは、keyUp イベントで、ENTERキーが押されたかを判別しているためで、たぶん、以下のように実装されています。Enter キーは、漢字の入力中でも検出されイベントは起きてしまいます。
{{{
private function check(e:KeyboardEvent):void {
if (e.keyCode == Keyboard.ENTER) {
// ここで ENTER の処理
}
}
}}}
そこで、漢字の入力中かどうかを判別して、Enter キーの処理を実行すれば良いのです。そのために、textInput イベントを利用して、漢字の入力中かどうか判断しました。しかし、そんなことしなくても、ENTER キーの入力だけが分かれば良いのならば、次のように、enter イベントが用意されているのでこれを利用します。
{{{
private function onEnter():void {
// ここで ENTER の処理
}
}}}