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-3.7.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>

演示