Document: activeElement property - Web APIs | MDN
Skip to search
Document: activeElement property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
See full compatibility
Report feedback
The
activeElement
read-only property of the
Document
interface returns the
Element
within the DOM that is receiving keyboard events such as
keydown
and
keyup
. This is usually analogous to the focused element.
Which elements are focusable varies depending on the platform and the browser's current configuration. For example, on Safari, following the behavior of macOS, elements that aren't text input elements are not focusable by default, unless the "Full Keyboard Access" setting is enabled in System Settings.
Typically a user can press the
Tab
key to move the focus around the page among focusable elements, and use keyboard gestures such as
Space
or
Enter
to simulate clicks on the focused element.
Note:
Focus (which element is receiving user input events) is not the same thing as selection (the currently highlighted part of the document). You can get the current selection using
window.getSelection()
Value
The deepest
Element
which currently has focus.
If the focused element is within a shadow tree within the current document (for example, the focused element is inside an
iframe
, and the invoking
document
contains that iframe), then this will be the root element of that tree (in this example, that
iframe
).
If the focused element is within a document tree that's not descended from the current document (for example, the focused element is in the main document, and the invoking
document
is an embedded iframe), then this will be
null
If there's no focused element, this is the
Document.body
or
Document.documentElement
Examples
HTML
html
Select some text from one of the text areas below:
Active element ID:
Selected text:
JavaScript
js
function onMouseUp(e) {
const activeTextarea = document.activeElement;
const selection = activeTextarea.value.substring(
activeTextarea.selectionStart,
activeTextarea.selectionEnd,
);
const outputElement = document.getElementById("output-element");
const outputText = document.getElementById("output-text");
outputElement.textContent = activeTextarea.id;
outputText.textContent = selection;
const textarea1 = document.getElementById("ta-example-one");
const textarea2 = document.getElementById("ta-example-two");
textarea1.addEventListener("mouseup", onMouseUp);
textarea2.addEventListener("mouseup", onMouseUp);
Result
Specifications
Specification
HTML
# dom-documentorshadowroot-activeelement-dev
Browser compatibility
See also
Document.hasFocus
Help improve MDN
Learn how to contribute
This page was last modified on
Oct 14, 2025
by
MDN contributors
View this page on GitHub
Report a problem with this content