首页 >web前端 >js教程 >如何在 jQuery 中检测输入焦点:悬停与焦点事件?

如何在 jQuery 中检测输入焦点:悬停与焦点事件?

Susan Sarandon
Susan Sarandon原创
2024-11-19 18:29:02806浏览

How to Detect Input Focus in jQuery: Hover vs. Focus Events?

使用 jQuery 检测输入焦点

当 div 中的输入具有焦点时,即使鼠标移动,您也希望在 div 中的表单元素上保留边框进出 div。然而,jQuery的hover()方法会干扰focus()事件。

jQuery 1.6

使用 jQuery 1.6,您可以使用内置的 :focus 选择器确定输入焦点。只需使用:

$("..").is(":focus")

jQuery 1.5 及以下

Ben Alman 推荐的此任务方法如下:

jQuery.expr[':'].focus = function( elem ) {
  return elem === document.activeElement && ( elem.type || elem.href );
};

任何 jQuery 版本

如果您需要支持两个版本的 jQuery,您可以添加 :focus 选择器(如果缺少):

(function ( $ ) {
    var filters = $.expr[":"];
    if ( !filters.focus ) { 
        filters.focus = function( elem ) {
           return elem === document.activeElement && ( elem.type || elem.href );
        };
    }
})( jQuery );

或者,您可以获得当前聚焦的元素为:

$(document.activeElement)

以上是如何在 jQuery 中检测输入焦点:悬停与焦点事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn