入力フィールドがあり、オートコンプリートの提案を試みます。コードは次のようになります
<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()ですか?
blurをクリックした後に実際に発生する場合はli、おそらく$("#myresults").hide()クリックハンドラーで実行する必要はありません。$(this).html()空の文字列が返されているようです。あなたでしたlogかalert $(this).html()確認してくださいするには?
blur()とclick()ハンドラーにウォッチポイントを追加しようとしましたが、blur()終了後にアクションはありません