如果我在其中单击,为什么这段代码会隐藏在 blur() 上用作 jQuery 选择器的 div?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();
})
我的猜测是它与放置在 textarea 上的 .focus() 有关,因为如果我取出那个 .focus(),它会正常工作,直到我在 textarea 内单击然后单击 out(仍在列表项内)它隐藏了整个列表项。有任何想法吗?我究竟做错了什么?