incsearch.jsのv1.2をリリースしました。

検索開始を遅らせるオプションとしてdelayを追加しました。
delayを指定する場合、interval(入力内容のチェック周期)の指定より大きくないと、あまり意味がありません。
使い方としては、下記のように指定した場合、、

  • interval : 200
  • delay : 500

入力内容のチェックをintervalで指定した200ms周期で行い、前回の入力と差分があった場合、さらにdelayで指定した500ms後に検索を開始するようタイマを設定します。
で、intervalで次の周期に入力内容のチェックを行い、そこで差分があった場合には、一旦起動していたdelayのタイマを解除し、もう一度500ms後に検索処理を開始するようタイマを設定します。
こうすると、文字を入力中に検索が開始されなくなるので、データ量が多くて、文字入力中に検索が走ってキー入力が固まるといった現象を防ぐことができます。


インクリメンタルサーチ的には、文字入力中に検索結果が逐次切り替わったほうが、見栄えがいいのですが、実際に下記を使っていた際に、データ量が多くなりすぎて、文字入力中に検索が走ってモッサリするのに耐えられなかったので、このような仕組みを入れてみました。