当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JQuery .blur()用法及代码示例


用法
.blur( handler ) => jQuery

说明:将事件处理程序绑定到 "blur" JavaScript 事件,或在元素上触发该事件。

  • 添加的版本:1.0.blur( handler )

    • handler
      类型:Function(Event eventObject)
      每次触发事件时执行的函数。
  • 添加的版本:1.4.3.blur( [eventData ], handler )

    • eventData
      类型:Anything
      包含将传递给事件处理程序的数据的对象。
    • handler
      类型:Function(Event 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>
The event handler can be bound to the first input field:
$( "#target" ).blur(function() {
  alert( "Handler for .blur() called." );
});

现在,如果第一个字段具有焦点,单击其他地方或从它处移开会显示警报:

.blur() 的处理程序被调用。

要以编程方式触发事件,请应用不带参数的.blur()

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

这段代码执行后,点击触发处理程序也会提醒消息。

blur 事件不会在 Internet Explorer 中冒泡。因此,依赖于 blur 事件的事件委托的脚本将无法在浏览器中始终如一地工作。然而,从 1.4.2 版本开始,jQuery 通过在其事件委托方法 .live() .delegate() 中将 blur 映射到 focusout 事件来解决此限制。

其他注意事项:

  • 由于 .blur() 方法只是 .on( "blur", handler ) 的简写,因此可以使用 .off( "blur" ) 进行分离。

例子:

触发所有段落的模糊事件:

$( "p" ).blur();

相关用法


注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .blur()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。