CompositionEvent
はIMEモードが有効の状態で文字列入力時を検出するイベントです。
IMEモード切替を検出しているわけではない為、[半角/全角] キーの検出は出来ません。
イベントタイプ | 実行タイミング |
---|---|
compositionstart | IMEモード有効、変換未確定で入力開始時 |
compositionupdate | IMEモード有効、変換未確定で入力更新時 |
compositionend | IMEモード有効、変換未確定で入力終了時 (本イベント発生時、はIMEモードは有効のまま) |
InputEvent#isComposing
は CompositionEvent
と連動しており、ほぼIME有効状態を表すものとなっています。
- compositionstart: true (IME有効)
- compositionupdate: true (IME有効)
- compositionend: false (IME有効)
compositionend
だけ、IME有効状態と合致しませんが、次回入力時の compositionstart
でIME有効状態として扱える為、概ね、要件を満たします。
ただし、IE11, Safari が未対応です。
幸い、IE11, Safari は CompositionEvent
をサポートしている為、3つのイベントを監視すれば、InputEvent#isComposing
と同等のステータスを得ることが出来ます。