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 #myresultsinput'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()?
blurbir 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 logyoksa alert $(this).html()emin misin?
blur()ve click()işleyicileri, sonra herhangi bir işlem yoktur blur()uçları