.focusout()

.focusout( handler )返回类型:jQuery

描述:把一个事件处理函数绑定到“focusout”事件上。

如果传递了参数,此方法是.on( "focusout", handler )的简写,如果不传递参数,此方法就是.trigger( "focusout" )的简写。

当某元素或它里面的元素失去了焦点时,focusout事件就发送到此元素。它与blur事件的区别在于它支持在后代元素上侦测焦点的失去(换句话说,它支持事件冒泡)。

此事件通常与focusin事件一起使用。

补充说明:

  • 因为.focusout()方法是.on( "focusout", handler )的简写,所以可以使用.off( "focusout" )来分离它。

示例:

等待段落中失去焦点,并注意focusout的次数与blur次数的区别。blur次数不会改变,因为那些事件不会冒泡。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>focusout demo</title>
<style>
.inputs {
float: left;
margin-right: 1em;
}
.inputs p {
margin-top: 0;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div class="inputs">
<p>
<input type="text"><br>
<input type="text">
</p>
<p>
<input type="password">
</p>
</div>
<div id="focus-count">focusout fire</div>
<div id="blur-count">blur fire</div>
<script>
var focus = 0,
blur = 0;
$( "p" )
.focusout(function() {
focus++;
$( "#focus-count" ).text( "focusout fired: " + focus + "x" );
})
.blur(function() {
blur++;
$( "#blur-count" ).text( "blur fired: " + blur + "x" );
});
</script>
</body>
</html>

演示: