2010年12月7日火曜日

FlexのTextAreaでエンター時に改行を行わせず、次コントロールに移動

いらん、と一蹴されましたがいずれ役に立ちそうなので記載

やりたいのは要するにTextAreaでEnter時、デフォルトで改行処理が走ってしまうので
走ったタイミングでEnterをハンドルしてキャンセルしてTab処理を送り込んであげるだけ。

じゃあ簡単だろって思ったらKeyDownイベントでpreventDefault()走らせてもキャンセルされねえじゃねえか。

というわけでggって出てきたのが次

参考サイト
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=3060
KEY_DOWN -> TEXT_INPUT -> KEY_UPというイベントの流れの中でTEXT_INPUTイベントでpreventDefaultメソッドが有効になるのが確認できたため、KEY_DOWNでキーコードを保持しておき、TEXT_INPUTイベント中に保持したキーコードを判定し、preventDefaultメソッドでキーボードの処理を無効化することができました。


つまりKEY_DOWNじゃなくてTEXT_INPUTでやれよ、と。
というわけでTEXT_INPUTイベントをハンドルしてpreventDefault()走らせてtab処理入れ込んで完了!!

さあ出来たぞ!って思ったらいらないって言われたぜ!!
某人から回りまわってどこに回るか分からないのでここで愚痴は終わり

1 件のコメント:

  1. 待ってました。参考にさせて頂いてます。
    これからも参考になる記事を頼みますね

    返信削除