Document.hasFocus()
The hasFocus() method of the Document
interface returns a boolean value indicating whether the document or any
element inside the document has focus. This method can be used to determine whether the
active element in a document has focus.
Note: When viewing a document, an element with focus is always the active element in the document, but an active element does not necessarily have focus. For example, an active element within a popup window that is not the foreground doesn't have focus.
Syntax
var focused = document.hasFocus();
Return value
false if the active element in the document has no focus;
true if the active element in the document has focus.
Example
This example checks whether the document has focus every 300 milliseconds. To test the
functionality of hasFocus(), click on the button to open a new window, and
try switching between the two pages.
HTML
<p id="log">Awaiting focus check.</p>
<button onclick="openWindow()">Open a new window</button>
JavaScript
function checkPageFocus() {
let body = document.querySelector('body');
let log = document.getElementById('log');
if (document.hasFocus()) {
log.textContent = 'This document has the focus.';
body.style.background = '#fff';
}
else {
log.textContent = 'This document does not have the focus.';
body.style.background = '#ccc';
}
}
function openWindow() {
window.open('https://developer.mozilla.org/', 'MDN', 'width=640,height=320,left=150,top=150');
}
// Check page focus every 300 milliseconds
setInterval(checkPageFocus, 300);
Result
Specifications
| Specification |
|---|
| HTML Standard # dom-document-hasfocus-dev |
Browser compatibility
BCD tables only load in the browser