Document: hasFocus() 方法

hasFocus()Document 接口的方法,它返回一个布尔值,指示文档或文档内的任何元素是否具有焦点。此方法可用于确定文档中的活动元素是否具有焦点。

注意:查看文档时,具有焦点的元素始终是文档中的活动元素,但活动元素不一定具有焦点。例如,弹出窗口中不在前台的活动元素没有焦点。

语法

js
hasFocus()

参数

无。

返回值

如果文档中的活动元素没有焦点,则返回false;如果文档中的活动元素有焦点,则返回true

示例

以下示例检查文档是否有焦点。名为checkPageFocus()的函数根据document.hasFocus()的结果更新段落元素。打开新窗口会导致文档失去焦点,切换回原始窗口会导致文档重新获得焦点。

HTML

html
<p id="log">Focus check results are shown here.</p>
<button id="newWindow">Open new window</button>

JavaScript

js
const body = document.querySelector("body");
const log = document.getElementById("log");

function checkDocumentFocus() {
  if (document.hasFocus()) {
    log.textContent = "This document has focus.";
    body.style.background = "white";
  } else {
    log.textContent = "This document does not have focus.";
    body.style.background = "gray";
  }
}

function openWindow() {
  window.open(
    "https://mdn.org.cn/",
    "MDN",
    "width=640,height=320,left=150,top=150",
  );
}

document.getElementById("newWindow").addEventListener("click", openWindow);
setInterval(checkDocumentFocus, 300);

结果

规范

规范
HTML 标准
# dom-document-hasfocus-dev

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅