w3schools上的定义说可以做到,但是没有显示如何做到的。摘要:
if (document.getElementById(atr).hasFocus())
{
console.log("focused");
}
else
{
console.log("not focused");
}
我认为这是由于对文档的误读。该文档说:
[hasFocus()方法返回一个布尔值,该值指示文档(或文档中的任何元素)是否具有焦点。
不是说您可以检查文档或所需的任何元素,而是要检查文档或文件内的任何元素是否具有焦点
要提出一种具有类似功能的方法,您只需将document.activeElement
与所选元素进行比较
// Get Element
let testElement = document.getElementById('container');
// Check against .activeElement
let isFocused = (document.activeElement === dummyEl);
document.activeElement
是关注的元素您可以像这样===
通过document.activeElement === document.getElementById('idOfYourHtmlElement')
检查活动元素默认情况下,活动元素为body
要对元素执行hasFocus方法,首先需要像document.getElementById(elementId)
这样选择它,然后将其放入变量中以使其更容易使用,例如let testElement = document.getElementById(elementId)
,然后使用hasFocus方法测试该元素,如< [下面
if(testElement.hasFocus()){
//DO something...
}