Edited at

javascriptの日本語入力ハンドリングについてのメモ

More than 1 year has passed since last update.


日本語入力中であることを知る

日本語入力中はkeypressイベントが発火しないので、keypressイベントが発火していなかったときのkeyupイベントを日本語入力中とみなすことができる。

(keyupイベントはkeypressイベントのあとに実行される)


日本語入力の確定タイミングで処理する

PCのキーボードなどでは日本語変換をenterキーで確定するため、enterキーを拾って処理することができるが、iOSなどの仮想キーボードでは確定タイミングでkeyイベントが発火しない。

そのため compositionend イベントを使うのが良さそう。