单击li时jQuery的.blur()没有被触发

时间:2015-11-13 12:07:00

标签: javascript jquery

所以我们有一个<ul>,其中包含多个<li>和一个<textarea><textarea>有一个.blur()事件处理程序,在外部单击时可按预期工作。但是,如果我将注意力集中在<textarea>上,则点击其中一个<li>以使<textarea>失去焦点,.blur()不会被触发。知道为什么会这样,以及如何让它发挥作用?

代码:

$("textarea").blur(function(e) {
// Do something
});

顺便说一句,<li>没有.click()处理程序。

环境:Mac OS X 10.9,Chrome 46。

1 个答案:

答案 0 :(得分:0)

只有少数浏览器支持/检测非表单元素上的blur事件。但是,当然,您总是可以自己触发事件或作为反应。见这里:jsfiddle

<textarea></textarea>
<div>here is the div</div>
<strong>here is the strong</strong>

$('textarea').blur(function() {
    alert('ta blur');
});
$('div').blur(function() {
    alert('div blur');
});
$('strong').blur(function() {
    alert('strong blur');
});

$(document).ready(function() {
    $('strong').trigger('blur');
});