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