Вопрос сформулирован некорректно, но я не смог сжать проблему до одного предложения.
Суть в чем: по событию focusin на input под ним показыается элемент (список). По исчезновению фокуса из элемента список прячется. Из этого списка нужно выбрать что-нибудь. Но проблема такова: нажатие на список считается потерей фокуса у этого input'а и событие для члена списка даже не срабатывает, т.е. вернуть искусственно список обратно нельзя. Подскажите, пожалуйста, как можно не убирать фокус с элемента (или вернуть фокус обратно), если клик был по члену списка?
Вот весь код:
<label for="category1-name">Рубрика из первого списка: </label><input type="text" id="category1-name" name="category1-name" title="Выберите рубрику из первого списка" /><br />
<ul id="list1" name="list1">
<li id="3">?????</li>
<li id="16">Рубрика</li>
</ul>
<label for="category2-name">Рубрика из второго списка: </label><input type="text" id="category2-name" name="category2-name" title="Выберите рубрику из второго списка" /><br />
<ul id="list2" name="list2">
<li id="13">????</li>
</ul>
<input type="hidden" id="category1" name="category1" /><input type="hidden" id="category2" name="category2" />
$(document).ready(function(){
$("#category1-name").focus(function(){
$("#list1").show();
}).focusout(function(){
$("#list1").hide();
});
$("#category2-name").focusin(function(){
$("#list2").show();
}).focusout(function(){
$("#list2").hide();
});
$("#list1 li").click(function(){ alert("ololo");
$("#category2-name").focus();
var $name = $(this).text(),
$id = $(this).attr("id");
$("#list1 li").removeClass("selected");
$("#category1-name").val($name);
$("category1").val($id);
alert($("category1").val());
});
});