jquery.suggestはリスト部分をULタグで実現しているが、リスト項目数が多くなると、スクロールで対応したくなる。
本サイトの改造でULタグに___suggest_listというIDを割り当てているので、CSSで下記のように記述すればOKだ。
#___suggest_list {
height:10em;
overflow: auto;
}
ところがこれだけではうまくいかない。
スクロールバーのサムをクリックできないからだ。
これはテキスト部のblurでリストをhideにするタイマー処理に起因する。
そこで下記のように修正してみた。
/*------------------------------ by systemconcept --------*/
//$input.blur(function() {
// setTimeout(function() { $results.hide() }, 200);
//});
var skip_flag = false;
$input.blur(
function() {
setTimeout(
function() {
if(!skip_flag) {
$results.hide();
} else {
$input.focus();
skip_flag = false;
}
},
200
);
}
);
$results.mousedown(function() { skip_flag = true; });
/*--------------------------------------------------------*/