キーイベントの発生順番
TextAreaでのキーイベントの発生順序は下記の通りになりますが、TextAreaにその文字が入力されるタイミングに注意する必要があります。
- Down ・・・ 入力前発生
- Press ・・・ 入力前発生
- Up ・・・ 入力後発生
キーコードの検知
現在入力されたキーのコードを検知するには、
- KeyPressEvent
KeyPressとKeyUpを組み合わせる
KeyPressEventでキーの内容を検知し、KeyUpEventでTextAreaの中身を取ってくる(消す)という手順が必要です。例えば以下の様な記述になります。
@UiHandler("textArea")
void onEnterKey(KeyPressEvent e) {
System.out.println("Press");
if (e.getCharCode() == KeyCodes.KEY_ENTER) {
isEnter= true;
}
}
@UiHandler("textArea")
void onUpKey(KeyUpEvent e) {
System.out.println("Up");
if (isEnter) {
/*ここでなんらかの処理をする*/
isEnter=false;
}
}
なお、上記のコードはUiBinder利用時の記述です。
0 件のコメント:
コメントを投稿