.select()
返回: jQuery
.select( handler )
描述:把一个事件处理函数绑定到JavaScript事件“select”上,或者在某元素上触发该事件。
加入于: 1.0
.select( handler )加入于: 1.4.3
.select( [eventData ], handler )- eventData类型:Anything一个对象,它包含了要传递给事件处理函数的数据。
- handler一个函数,在每次事件被触发时执行它。
加入于: 1.0
.select()该签名不接受任何参数。
该方法,在前两种变体中,是.on( "select", handler )
的简写,在第三种变体中,是.trigger( "select" )
的简写。
当用户在一个文本输入框中制作一个选中区时,select
事件被发送到该元素上。该事件只限于<input type="text">
字段,以及<textarea>
框。
举个例子,设想下面的HTML:
<form> <input id="target" type="text" value="Hello there"> </form> <div id="other"> Trigger the handler </div>
该事件处理函数可以绑定到文本输入框上:
$( "#target" ).select(function() { alert( "Handler for .select() called." ); });
现在,当一部分文本被选中时,显示了提醒。仅仅设置插入点的位置,不会触发该事件。要想人为地触发该事件,请不带参数地应用.select()
:
$( "#other").click(function() { $( "#target" ).select(); });
在执行代码之后,在触发按钮上点击,也会跳出提醒消息:
Handler for .select() called.
另外,在字段上默认的select
也会被引发,因此整个文本字段都被选中了。
在不同的浏览器中,检索当前选中的文本的方法是有所不同的。一些jQuery插件提供了跨浏览器的解决方案。
其它说明
- 因为
.select()
是.on( "select", handler )
的简写,所以可以用.off( "select" )
来分理。
示例
当文本输入框中的文本被选中时,做些事情:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>select demo</title> <style> p { color: blue; } div { color: red; } </style> <script src="https://code.jquery.com/jquery-1.10.2.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" ).select(function() { $( "div" ).text( "Something was selected" ).show().fadeOut( 1000 ); }); </script> </body> </html>
演示结果
要想触发所有输入元素上的选中事件,试一试:
$( "input" ).select();