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.
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
Specification
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'Document.hasFocus()' in that specification. |
Living Standard | Initial definition |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
hasFocus | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 3 | IE Full support 6 | Opera Full support 15 | Safari Full support 4 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 14 | Safari iOS Full support 3.2 | Samsung Internet Android Full support 1.0 |
Legend
- Full support
- Full support