ふと、予測変換機能をJavaScriptで作ってみようと思い至りました。唐突に。
予測変換機能というのはGoogle検索を代表としたあれです。サジェスト?
流石にGoogleのもつ膨大なデータベースからの予測なんていうものを作るつもりはありません。
変換候補に出したい単語のリストを別途作成しておき、文字入力時にリストアップしようという機能です。
とりあえず作成してみた部分です。やっつけにもほどがある。
まだ、入力した文字をそのまま変換候補の表示部分に出すだけです。
トリガーはたぶん、"onkeyup"を使います。"onkeydown"や"onkeypress"だと打った文字が画面に出る前に関数が走るためワンテンポ遅れます。
あとは、テキストボックスに入力されている文字列を「ローマ字変換」「半角/全角変換」「ひらがな/カタカナ変換」などにかけて、前方一致または部分一致で単語リストにマッチするものを引っ張ってきて表示すれば良いかな。
各種変換スクリプトも探せばけっこうあるようですが、この辺りも余裕があれば自作してみたいと思います。まぁ、強引に変換表を作ってしまえば、とも。
ただ、onkeyupでも日本語入力で変換中(下に破線が出てる状態)だと関数が走らないんですよね。
調べてみるとsetTimeout()で頑張っているという説も。
青柳 臣一 ブログ(技術系): Google サジェストの不思議
続きです。⇒予測変換スクリプト(骨組み)