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; }); /*--------------------------------------------------------*/