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