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

jQuery API 2.2.0

.blur()

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

返回: jQuery

.blur( handler )

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

加入于: 1.0
.blur( handler )
  • handler
    类型:FunctionEvent eventObject )
    一个函数,每次触发该事件的时候会执行它。
加入于: 1.4.3
.blur( [eventData ], handler )
  • eventData
    类型:Anything
    一个对象,它包含了将传递给该事件处理函数的数据。
  • handler
    类型:FunctionEvent eventObject )
    一个函数,每次触发该事件的时候会执行它。
加入于: 1.0
.blur()

该签名不能接受任何参数。

在前两种变体中,该方法是.on( "blur", handler )的简写,在第三种变体中,是.trigger( "blur" )的简写。

当一个元素失去焦点的时候,会发送blur事件。最初,这个事件只适用于表单元素,比如说<input>。但是在最近的浏览器中,该事件的域被扩展到包括所有的元素类型。键盘命令,比如说Tab键,可以让一个元素失去,鼠标在网页的别处点击也会使一个元素失去焦点。

举个例子,设想以下HTML:

<form>
  <input id="target" type="text" value="Field 1">
  <input type="text" value="Field 2">
</form>
<div id="other">
  Trigger the handler
</div>
该事件处理函数可以绑定到第一个输入字段:
$( "#target" ).blur(function() {
  alert( "Handler for .blur() called." );
});

现在,如果第一个字段得到了焦点,点击别的地方,或者在别的地方轻触,将显示一条提醒:

Handler for .blur() called.

要想程序化地触发该事件,请应用.blur(),不带任何参数。

$( "#other" ).click(function() {
  $( "#target" ).blur();
});

在代码执行之后,点击Trigger the handler也将跳出提示消息。

blur事件在Internet Explorer上不会冒泡。因此,依赖于blur事件的事件传播的脚本不能跨浏览器一致地起作用。然而,自从jQuery 1.4.2,jQuery通过在它的事件委托方法.live().delegate()中,把blur映射到focusout事件,变通地解决了这个限制。

其它说明

  • 因为.blur()方法是.on( "blur", handler )的简写,所以可以使用.off( "blur" )来分离。

示例

要想在所有的段落文本上触发blur事件:

$( "p" ).blur();

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

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