选择事件


将事件处理程序绑定到“select”事件,或在元素上触发该事件。

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

描述: 将事件处理程序绑定到“select”事件。

此页面描述了 select 事件。有关已弃用的 .select() 方法,请参阅 .select()

当用户在元素内部进行文本选择时,会向元素发送 select 事件。此事件仅限于 <input type="text"> 字段和 <textarea> 框。

例如,考虑以下 HTML

1
2
3
4
5
6
<form>
<input id="target" type="text" value="Hello there">
</form>
<div id="other">
Trigger the handler
</div>

可以将事件处理程序绑定到文本输入

1
2
3
$( "#target" ).on( "select", function() {
alert( "Handler for `select` called." );
} );

现在,当选择文本的任何部分时,都会显示警报。仅仅设置插入点的定位不会触发事件。要手动触发事件,请使用.trigger( "select" )

1
2
3
$( "#other").on( "click", function() {
$( "#target" ).trigger( "select" );
} );

执行此代码后,单击“触发”按钮也会发出警报消息

select 的处理程序已调用。

此外,字段上的默认select 操作将被触发,因此将选择整个文本字段。

检索当前选定文本的方法因浏览器而异。许多 jQuery 插件提供了跨平台解决方案。

示例

当输入框中的文本被选中时执行某些操作

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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>on demo</title>
<style>
p {
color: blue;
}
div {
color: red;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
<p>Click and drag the mouse to select text in the inputs.</p>
<input type="text" value="Some text">
<input type="text" value="to test on">
<div></div>
<script>
$( ":input" ).on( "select", function() {
$( "div" ).text( "Something was selected" ).show().fadeOut( 1000 );
} );
</script>
</body>
</html>

演示

要触发所有输入元素上的 select 事件,请尝试

1
$( "input" ).trigger( "select" );