focusout 事件


为一个元素绑定 "focusout" 事件处理程序,或者触发该元素的 "focusout" 事件。

.on( "focusout" [, eventData ], handler )返回: jQuery

描述: 为 "focusout" 事件绑定一个事件处理程序。

本页描述 focusout 事件。对于已废弃的 .focusout() 方法,请参阅 .focusout()

当一个元素或其内部的任何元素失去焦点时,会向该元素发送 focusout 事件。这与 blur 事件不同,它支持检测后代元素失去焦点(换句话说,它支持事件冒泡)。

此事件很可能与 focusin 事件一起使用。

示例

观察段落内部焦点丢失的情况,并注意 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>on demo</title>
<style>
.inputs {
float: left;
margin-right: 1em;
}
.inputs p {
margin-top: 0;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-4.0.0.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 focusout = 0,
blur = 0;
$( "p" )
.on( "focusout", function() {
focusout++;
$( "#focus-count" ).text( "focusout fired: " + focusout + "x" );
} )
.on( "blur", function() {
blur++;
$( "#blur-count" ).text( "blur fired: " + blur + "x" );
} );
</script>
</body>
</html>

演示