Почему этот код скрывает div, который используется в качестве селектора jQuery для blur(), если я щелкаю внутри него? Blur() должен скрывать его только в том случае, если я нажму за его пределами.
HTML-триггер:
<div class="header">To-Do <a class="triggernewtodo">Add a task...</a></div>
li показать/скрыть:
<li class="addnewtodo">
<form>
<textarea class="addtodotextarea"></textarea>
<div class="controlarea">
<input class="primary" name="commit" type="submit" value="Add" />
</div>
</form>
</li>
jQuery:
// Show/Hide New Todo form
$('a.triggernewtodo').click(function() {
$('li.addnewtodo').show()
$('textarea.addtodotextarea').focus();
});
$('li.addnewtodo').live("blur", function() {
$(this).hide();
})
Я предполагаю, что это как-то связано с .focus(), помещенным в текстовую область, потому что, если я уберу этот .focus(), он будет работать правильно, пока я не щелкну внутри текстовой области, а затем не щелкну (все еще внутри элемента списка) и он скрывает весь элемент списка. Любые идеи? Что я делаю неправильно?
$.live
? Это устарело. Кроме того, пожалуйста, не публикуйте код языка на стороне сервера, вставьте сгенерированный HTML - person Juan Mendes   schedule 05.12.2012