首页 > 解决方案 > 如何不在整个文档上而是在文档内的元素上使用 JavaScript 方法 hasFocus()?

问题描述

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

if (document.getElementById(atr).hasFocus())
{
  console.log("focused");
}
else
{
  console.log("not focused");
}

标签: javascriptfocusonfocus

解决方案


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

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

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


要提出具有类似功能的方法,您可以简单地document.activeElement与您选择的元素进行比较

// Get Element
let testElement = document.getElementById('container');

// Check against .activeElement
let isFocused = (document.activeElement === dummyEl);

推荐阅读