Otomatik tamamlama önerisi yapmaya çalıştığım bir giriş alanım var. Kod benziyor
<input type="text" id="myinput">
<div id="myresults"></div>
Girdi blur()
olayında sonuçları 'div gizlemek istiyorum:
$("#myinput").live('blur',function(){
$("#myresults").hide();
});
Girişime bir şey yazdığımda sunucuya istek gönderir ve json yanıtı alırım, ul-> li yapısına ayrıştırır ve bu ul'i div'e koyarım #myresults
.
Bu ayrıştırılmış li öğesine tıkladığımda değeri li'den #myresults
input'a ve div'ı gizlemek için değer ayarlamak istiyorum
$("#myresults ul li").live('click',function(){
$("#myinput").val($(this).html());
$("#myresults").hide();
});
Her şey yolunda gidiyor, ancak li olayıma tıkladığımda daha blur()
önce tetikleniyor click()
ve girişin değeri li'nin html'sini alamıyor.
click()
Etkinliği daha önce nasıl ayarlayabilirim blur()
?
blur
bir tıkladıktan sonra gerçekten tetikleniyorsa li
, muhtemelen $("#myresults").hide()
tıklama işleyicide yürütmeniz gerekmez . Görünen şey $(this).html()
boş bir dize döndürmektir. Emin misin log
yoksa alert
$(this).html()
emin misin?
blur()
ve click()
işleyicileri, sonra herhangi bir işlem yoktur blur()
uçları