更に続きです。ひとまず暫定版として置いておきます。
今回はトリガーをsetTimeout()に変更して、IME変換中でもテキストボックスの中身を取得できるようにしています。
変換候補の一覧はテキストボックスのフォーカスが外れている間は非表示にしています。
この”フォーカスが外れている”という状態に関してですが、activeEventという素晴らしい機能が提供されていると思いきやFirefoxなどでは動きませんでした。
今のところは単純に、onfocus()でフォーカスが当たっている(true)、onblur()でフォーカスが外れている(false)というグローバル変数を持たせて切り替えています。
あとは、表示される変換候補を味気ないテキストから<li>タグおよび<a>タグに変更し、クリックすることでテキストボックスに返却するという入力補助の役割を追加しています。
これで、主にスマートフォン向けのサイトを作成する際に冗長なプルダウンを置く必要が無くなるといいなと思います。