Javascript 选择当前关注的元素

Javascript 选择当前关注的元素,javascript,jquery,focus,pseudo-class,Javascript,Jquery,Focus,Pseudo Class,我想在整个文档中找到当前关注的元素。 我尝试使用jQuery 1.6引入的:focus伪类: $(document).find(":focus") 但是$(document).find(:focus”).length始终返回0您应该能够使用文档的属性: var focus = $(document.activeElement); 如果您查看jQuery文档,它会非常清楚地表明这一点: 如果您正在寻找当前关注的元素$( document.activeElement)将检索它,而无需搜索 整个D

我想在整个文档中找到当前关注的元素。 我尝试使用jQuery 1.6引入的
:focus
伪类:

$(document).find(":focus")

但是
$(document).find(:focus”).length始终返回
0
您应该能够使用
文档的属性:

var focus = $(document.activeElement);
如果您查看jQuery文档,它会非常清楚地表明这一点:

如果您正在寻找当前关注的元素$( document.activeElement)将检索它,而无需搜索 整个DOM树

值得注意的是,如果当前没有元素具有焦点,
activeElement
将引用
主体

与其他伪类选择器(以“:”开头的选择器)一样 建议在:focus之前加上标记名或其他名称 选择器;否则,表示通用选择器(“
*
”)。换句话说 换句话说,裸露的
$(':focus')
相当于
$('*:focus')

如果您想要一个替代
$(document.activeElement)
的选项,该选项将检索具有焦点的当前元素,您可以使用:

$(document).delegate( "*", "focus blur", function( event ) {
    var elem = $( this );
    //  here use elem.is( ":focus" ) which is your element that has focus
   //for example  : 
    elem.toggleClass( "focused", elem.is( ":focus" ) );
});

没问题,很高兴我能帮忙:)