用法
.focus( handler ) => jQuery
.focus( handler ) => jQuery
说明:将事件处理程序绑定到 "focus" JavaScript 事件,或在元素上触发该事件。
-
添加的版本:1.0
.focus( handler )
-
handler每次触发事件时执行的函数。
-
-
添加的版本:1.4.3
.focus( [eventData ], handler )
-
eventData类型:Anything包含将传递给事件处理程序的数据的对象。
-
handler每次触发事件时执行的函数。
-
-
添加的版本:1.0
.focus()
- 此签名不接受任何参数。
- 此方法是第一和第二变体中
.on( "focus", handler )
和第三变体中.trigger( "focus" )
的快捷方式。 focus
事件在获得焦点时发送到元素。此事件隐式适用于有限的元素集,例如表单元素(<input>
、<select>
等)和链接(<a href>
)。在最近的浏览器版本中,可以通过显式设置元素的tabindex
属性来扩展事件以包括所有元素类型。元素可以通过键盘命令(例如 Tab 键)或通过鼠标单击元素获得焦点。- 具有焦点的元素通常由浏览器以某种方式突出显示,例如用虚线围绕元素。焦点用于确定哪个元素最先接收keyboard-related 事件。
尝试将焦点设置到隐藏元素会导致 Internet Explorer 出错。注意仅在可见元素上使用.focus()
。要在不为元素设置焦点的情况下运行元素的焦点事件处理程序,请使用 .triggerHandler( "focus" )
而不是 .focus()
。
例如,考虑 HTML:
|
事件处理程序可以绑定到第一个输入字段:
|
现在单击第一个字段,或从另一个字段切换到它,显示警报:
.focus() 的处理程序被调用。
我们可以在点击另一个元素时触发事件:
|
这段代码执行后,点击触发处理程序也会提醒消息。
focus
事件不会在 Internet Explorer 中冒泡。因此,依赖于 focus
事件的事件委托的脚本将无法在浏览器中始终如一地工作。然而,从 1.4.2 版本开始,jQuery 通过在其事件委托方法
和 .live()
中将 .delegate()
focus
映射到 focusin
事件来解决此限制。
其他注意事项:
- 由于
.focus()
方法只是.on( "focus", handler )
的简写,因此可以使用.off( "focus" )
进行分离。
例子:
火焦点。
|
演示:
要阻止人们在文本输入框中书写,请尝试:
|
要在页面启动时关注 id 'login' 的登录输入框,请尝试:
|
相关用法
- JQuery .focusout()用法及代码示例
- JQuery .focusin()用法及代码示例
- JQuery .find()用法及代码示例
- JQuery .fadeTo()用法及代码示例
- JQuery .first()用法及代码示例
- JQuery .fadeToggle()用法及代码示例
- JQuery .filter()用法及代码示例
- JQuery .finish()用法及代码示例
- JQuery .fadeOut()用法及代码示例
- JQuery .fadeIn()用法及代码示例
- JQuery .jquery用法及代码示例
- JQuery .scroll()用法及代码示例
- JQuery .add()用法及代码示例
- JQuery .contextmenu()用法及代码示例
- JQuery .undelegate()用法及代码示例
- JQuery .load()用法及代码示例
- JQuery .contents()用法及代码示例
- JQuery .empty()用法及代码示例
- JQuery UI .labels()用法及代码示例
- JQuery UI .addClass()用法及代码示例
- JQuery .click()用法及代码示例
- JQuery UI .toggleClass()用法及代码示例
- JQuery .removeAttr()用法及代码示例
- JQuery .addClass()用法及代码示例
- JQuery UI .cssClip()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .focus()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。