オートコンプリートの提案を行う入力フィールドがあります。コードは次のようになります
<input type="text" id="myinput">
<div id="myresults"></div>
入力のblur()
イベントで、結果のdivを非表示にします。
$("#myinput").live('blur',function(){
$("#myresults").hide();
});
入力に何かを書き込むとき、サーバーにリクエストを送信してjson応答を取得し、それをul-> li構造に解析して、このulを#myresults
divに配置します。
この解析されたli要素をクリックすると、liから入力に値を設定して#myresults
divを非表示にします
$("#myresults ul li").live('click',function(){
$("#myinput").val($(this).html());
$("#myresults").hide();
});
すべてが順調に進んでいますが、liをクリックすると、blur()
前にイベントが発生しclick()
、入力の値がliのhtmlを取得しません。
click()
前にイベントを設定するにはどうすればよいblur()
ですか?