所以我们有一个<ul>
,其中包含多个<li>
和一个<textarea>
。 <textarea>
有一个.blur()
事件处理程序,在外部单击时可按预期工作。但是,如果我将注意力集中在<textarea>
上,则点击其中一个<li>
以使<textarea>
失去焦点,.blur()
不会被触发。知道为什么会这样,以及如何让它发挥作用?
代码:
$("textarea").blur(function(e) {
// Do something
});
顺便说一句,<li>
没有.click()
处理程序。
环境:Mac OS X 10.9,Chrome 46。
答案 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');
});