calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

categories

archives

Enterキーで確定処理(変換中のEnterと区別させる)

0
    TextFieldにカーソルがあって、Enterキーで入力処理を実行する、
    なんて事をしたい場合の方法です。ポイントとしては、日本語入力の
    漢字変換確定時のEnterキーと、区別させる事です。

    以下のコード例は、入力用のTextFieldをtxtChatInputという名前で
    宣言した場合の例です。処理実行として、Enter時にbtClick("送信")という
    関数を呼び出すとします。


    イベントリスナーセット
    txtChatInput.addEventListener(KeyboardEvent.KEY_UP, eCharInputKeyUp); //

    ・・・・

    //イベント実行時の関数(と変数)
    public var tmpInputString:String;
    public function eChatInputKeyUp(e:KeyboardEvent):void
    {
       switch (e.keyCode) {
          case 32: //space 変換
             break;
          case 13: //enter
             if (tmpInputString != txtChatInput.text) {
                tmpInputString = txtChatInput.text;
             } else {
                btClick("送信");
             }
             break;
          default:
             tmpInputString = txtChatInput.text;
       }
    }

    入力した文字列を一時的に保存する変数(以下の例ではtmpInputString)へ
    入力イベントで入力値を代入していき、Enter時にTextFieldのtextと変数を比較し、
    同じなら処理を実行、異なるなら変換確定のEnterとみなして処理は実行しない、という方法です。

    コメント
    コメントする








       
    この記事のトラックバックURL
    トラックバック