如何使用JavaScript方法hasFocus()不是对整个文档而是对文档中的元素?

如何使用JavaScript方法hasFocus()不是对整个文档而是对文档中的元素?,javascript,focus,onfocus,Javascript,Focus,Onfocus,上的定义说它是可以做到的,但没有说明它是如何做到的。 片段: 我觉得这是对文件的误读。医生说: hasFocus()方法返回一个布尔值,指示文档(或文档中的任何元素)是否具有焦点 它并不是说您可以检查文档或您想要的任何元素,而是说它将检查文档或文档中的任何元素是否具有焦点 要提出具有类似功能的方法,只需将document.activeElement与所选元素进行比较即可 //获取元素 让testElement=document.getElementById('container'); //对照

上的定义说它是可以做到的,但没有说明它是如何做到的。 片段:


我觉得这是对文件的误读。医生说:

hasFocus()方法返回一个布尔值,指示文档(或文档中的任何元素)是否具有焦点

它并不是说您可以检查文档或您想要的任何元素,而是说它将检查文档或文档中的任何元素是否具有焦点


要提出具有类似功能的方法,只需将
document.activeElement
与所选元素进行比较即可

//获取元素
让testElement=document.getElementById('container');
//对照.activeElement进行检查
让isFocused=(document.activeElement==dummeyel);

要对一个元素执行hasFocus方法,首先需要像选择document.getElementById(elementId)那样选择它,然后将其放入一个变量中,使其变得更容易,例如
让testElement=document.getElementById(elementId)
,然后用hasFocus方法测试这个元素,如下图所示

if(document.activeElement==testElement){
//做点什么。。。

}
w3文档说,如果页面上的任何元素被聚焦,则
document.hasFocus()
返回true,而不是说您可以对任何元素调用
hasFocus
。有些答案有一种方法你可以检查它。是的。。。ofc,但我有一条错误消息:TypeError:“document.getElementById(…).hasFocus不是函数”
if (document.getElementById(atr).hasFocus())
{
  console.log("focused");
}
else
{
  console.log("not focused");
}