加载中...

blur()


概述    .blur( handler(eventObject) )

返回值:jQuery

描述:为 "blur" 事件绑定一个处理函数,或者触发元素上的 "blur" 事件(手册网注:此事件不支持冒泡)。

  • V : 1.0.blur( handler(eventObject) )

    • handler(eventObject)
      类型: Function()
      每当事件触发时执行的函数。
  • V : 1.4.3.blur( [eventData ], handler(eventObject) )

    • eventData
      类型: Anything
      一个对象,它包含的数据键值对映射将被传递给事件处理程序。
    • handler(eventObject)
      类型: Function()
      每当事件触发时执行的函数。
  • V : 1.0.blur()

    • 这个方法不接受任何参数

这个函数的前两个用法是 .bind('blur', handler) 的快捷方式,第3个不带参数的用法是 .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.');
});

现在,如果第一个表单字段(field)获取焦点,点击别处或按Tab键她将失去焦点,显示警告:

Handler for .blur() called.

应用不带参数的.blur(),我们可以手动触发这个事件:

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

这些代码执行后,点击Trigger the handler也提醒消息。

blur事件不会在Internet Explorer中冒泡。因此,用blur事件委派,跨浏览器无法正常工作。但是,在1.4.2版本, jQuery的解决此限制,模拟blurfocusout 事件,可以使用.live().delegate()委派的方法。

Additional Notes(其他注意事项):

  • .blur()方法只是作为.on( "blur", handler )的一个速记写法,移除该事件可以使用.off( "blur" )

示例

触发所有段落上的blur事件:

$("p").blur();


还没有评论.