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 表格仅在浏览器中加载