У мене є поле введення, де я намагаюся зробити пропозицію щодо автозаповнення. Код виглядає так
<input type="text" id="myinput">
<div id="myresults"></div>
Під час blur()
події я хочу приховати поділ результатів:
$("#myinput").live('blur',function(){
$("#myresults").hide();
});
Коли я щось записую на свій вхід, я надсилаю запит на сервер і отримую json відповідь, розбираю його в ul-> li структуру і ставлю цей ul своєму #myresults
диві.
Коли я натискаю на цей проаналізований елемент li, я хочу встановити значення від li на вхід та приховати #myresults
div
$("#myresults ul li").live('click',function(){
$("#myinput").val($(this).html());
$("#myresults").hide();
});
Все йде добре, але коли я натискаю на свою blur()
подію li події, click()
і значення вводу не отримує ht-код li.
Як я можу налаштувати click()
подію раніше blur()
?
blur
після натискання на нього дійсно запускається li
, вам, ймовірно, не потрібно виконувати $("#myresults").hide()
цей обробник кліків. Як здається, відбувається те, що $(this).html()
повертає порожній рядок. Ви могли log
чи alert
$(this).html()
переконаєтесь?
blur()
та обробці click()
, після blur()
закінчення не буде дій