[英]How to use JavaScript method hasFocus() not on whole document but on element inside document?
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(document.activeElement == testElement){ //DO something... }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.