자동 완성 제안을 시도하는 입력 필드가 있습니다. 코드는 다음과 같습니다
<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()
끝날 때 아무런 조치가 없습니다.