読者です 読者をやめる 読者になる 読者になる

suggest.jsのver0.2をリリースしました

スポンサーリンク

以前公開したsuggest.jsを更新し、ver0.2としてアップしました。

使用方法については、ほとんど変わりありません。(オプションとして指定出来る事が1つ増えただけ)
suggest.jsをそのまま使用されている方は、ver0.1からver0.2へそのまま差し替えても問題無く動くと思います。
yappoさんの「suggest_ajax.js - suggest.jsをAjaxなどに対応する等の拡張スクリプト」については、今回、関数名を一部変えた(keyup→keyevent)ので、ver0.2との組み合わせでは動かなくなります(せっかく取り上げていただいたばっかりなのに、、申し訳ござません…)。

ver0.1→0.2の変更点は、下記の通りです。

カーソルキー(上下)長押しでの、補完候補の移動に対応

今までは、カーソルキーを長押ししても、1件分しか移動しませんでしたが、キーを押している間、移動するようにしました。
当初、prototype.jsのEvent.observeでkeypressイベントを登録し、対応するように考えていましたが、Operaでうまくいかない(以前のエントリ参照)ので、Operaのみ、Event.observeを使用せず、Event.observeの内部で呼んでいる関数を直接起動し、登録しています。

補完候補の確定時、補完候補の表示を消去

ver0.1では、補完候補を選択しても、補完候補の表示はそのままとしていましたが、補完候補が確定(リターンキーで選択、またはマウスクリック)した場合に、補完候補の表示を消去するようにしました。

ESCキーで、補完候補をキャンセル

カーソルキーで補完候補を移動している時に、ESCキーにより補完候補の選択をキャンセルし、入力時の文字に戻すようにしました。

入力内容の監視期間の変更(focusが当たっている間のみ監視)

ver0.1では、IncSearch.Suggestが生成された後、入力内容を一定周期で監視し続けていましたが、これを入力欄にfocusが当たっている間のみ一定周期で監視するようにしました。(余計なタイマ起動を減らすため)

検索時、大文字/小文字の区別をなくした

ver0.1では、大文字、小文字を区別して検索していましたが、ver0.2では区別無く検索するようにしました。

補完候補の描画に使用するタグを指定可能とした

ver0.1では、補完候補の描画にはdivタグが使用されていましたが、これをオプションとして指定することにより変更可能としました。(divでは無く、liにしたい方もいるようなので)