2
爲什麼此代碼隱藏在blur()上用作jQuery選擇器的div如果單擊其內部?模糊()應該只隱藏它,如果我點擊它之外。jQuery .blur() - 不要隱藏活動div
HTML觸發:
<div class="header">To-Do <a class="triggernewtodo">Add a task...</a></div>
裏顯示/隱藏:
<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內部,然後單擊(仍然在列表項中)並且它隱藏整個列表項。有任何想法嗎?我究竟做錯了什麼?
你爲什麼使用'$ .live'?它已被棄用。另外,請不要發佈服務器端語言代碼,粘貼生成的HTML –
當問題與您的後端代碼無關時,最好在您的問題中包含您的呈現html,而不是創建它的代碼。 –
我猜猜你的文本區域在li元素裏面。當把焦點放在那個元素上時,你的li元素執行模糊函數。因此,隱藏它。您可以在隱藏它之前檢查textarea元素是否有焦點 –