世の中、インクリメンタルサーチを実装するとき、スクリプトのイベントは何を使っているのだろう?
特に悩ましいのがテキストの場合。
「onkeydown」「onkeyup」は通信が発生しすぎる。
「onchange」は、わざわざフォーカスを外さないと動かないのでいまいち。
自分が思うベストの方法は、フォーカスが外れなくても動く「onchange」みたいなものだ。
XUL(ずーる)には、「oninput」というまさにそれっぽいのがあるのだがブラウザ依存するのはいただけない。。
困っていたときに、まさに同じ悩みとやりたいことを解決してくれている方がいた!
http://saikyoline.jp/weblog/2005/04/08/013450.html
抜粋。
--------------------------------------
var textValue; // グローバル変数
function theFunc(keyCode, value) {
// テキストが変更されていなかったら処理をしない
if (textValue == value) { return; }
// 以下処理
}
<input type="text" value="" onkeydown="textValue = this.value" onkeyup="theFunc(event.keyCode, this.value)" />
--------------------------------------
たいていのことは先人が悩み解決してきてるんだなぁと、改めて思った。
よし、今から試してみよう!。