.select()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.select()

分类:事件 > 表单事件 | 表单

返回: jQuery

.select( handler )

描述:把一个事件处理函数绑定到JavaScript事件“select”上,或者在某元素上触发该事件。

加入于: 1.0
.select( handler )
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 1.4.3
.select( [eventData ], handler )
  • eventData
    类型:Anything
    一个对象,它包含了要传递给事件处理函数的数据。
  • handler
    类型:FunctionEvent eventObject )
    一个函数,在每次事件被触发时执行它。
加入于: 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();

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/select.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。