昨日の続きです。予測変換スクリプト(草案のみ)
流石にやっつけ仕事すぎると思うので、少し動くものを組んでみました。
上のテキストボックスに文字を入力すると、下のテキストエリアから変換候補を拾ってきます。テキストエリアは自由に編集することができます。
横のセレクトボックスでは前方一致、部分一致、後方一致を選択できます。
ローマ字やひらがな、カタカナでも変換して比較しています。ローマ字変換については、こちらのスクリプトをお借りしました。
また、ひらがな⇔カタカナ変換についてはこちらのコードを参考にさせてもらっています。
カタカナをひらがなに一括変換する - JavaScript TIPSふぁくとりー
思ったより普通に動いてくれるようです。
漢字については、広辞苑レベルのデータベースが必要になると思いますので、データベース側に読み方も一緒に持つべきかなと思います。それにしてもGoogleはすごいなー。
あとは、表示される変換候補を選択できるようにして、選択した文字列をテキストボックスに返してあげたいと思います。
キーボードの↑↓にも対応させたいし、その場合は選択中の文字列に背景とかもつけたいです。
変換中の文字も拾いたいのでsetTimeout()も試してみたりしましたが、フォーカスが当たっていない場合も表示されてしまうので、そもそもの表示制御をどうするべきか思案する必要がありますね。
今はフォーカスが外れたときは非表示になるようにしています。
まだまだいじってみたい部分が多いので、もうしばらく作り込んでみたいと思います。
とはいえ、土日はポケモンやってます。そろそろ殿堂入りしたい!
続きです。⇒予測変換スクリプト(暫定版)