.blur()
返回: jQuery
.blur( handler )
描述:把某个事件处理函数绑定到JavaScript事件“blur”上,或者在某个元素上触发该事件。
加入于: 1.0
.blur( handler )加入于: 1.4.3
.blur( [eventData ], handler )- eventData类型:Anything一个对象,它包含了将传递给该事件处理函数的数据。
- handler一个函数,每次触发该事件的时候会执行它。
加入于: 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();