The DocumentOrShadowRoot
mixin of the Shadow DOM API provides APIs that are shared between documents and shadow roots. The following features are included in both Document
and ShadowRoot
.
Properties
DocumentOrShadowRoot.activeElement
Read only- Returns the
Element
within the shadow tree that has focus. DocumentOrShadowRoot.fullscreenElement
Read only- Returns the
Element
that's currently in full screen mode for this document. DocumentOrShadowRoot.pointerLockElement
Read only- Returns the element set as the target for mouse events while the pointer is locked. It returns
null
if lock is pending, the pointer is unlocked, or if the target is in another document. DocumentOrShadowRoot.styleSheets
Read only- Returns a
StyleSheetList
ofCSSStyleSheet
objects for stylesheets explicitly linked into, or embedded in a document.
Methods
DocumentOrShadowRoot.caretPositionFromPoint()
- Returns a
CaretPosition
object containing the DOM node containing the caret, and caret's character offset within that node. DocumentOrShadowRoot.elementFromPoint()
- Returns the topmost element at the specified coordinates.
DocumentOrShadowRoot.elementsFromPoint()
- Returns an array of all elements at the specified coordinates.
DocumentOrShadowRoot.getSelection()
- Returns a
Selection
object representing the range of text selected by the user, or the current position of the caret. DocumentOrShadowRoot.nodeFromPoint()
- Returns the topmost node at the specified coordinates.
DocumentOrShadowRoot.nodesFromPoint()
- Returns an array of all nodes at the specified coordinates.
Specifications
Specification | Status | Comment |
---|---|---|
Shadow DOM The definition of 'DocumentOrShadowRoot' in that specification. |
Obsolete | Implementation in Shadow DOM. |
DOM The definition of 'DocumentOrShadowRoot' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
DocumentOrShadowRoot | Chrome Full support 53 | Edge Full support 12 | Firefox Full support Yes | IE Full support Yes | Opera Full support 40 | Safari Full support Yes | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support Yes | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
activeElement | Chrome Full support 53 | Edge Full support 12 | Firefox Full support 63 | IE Full support 4 | Opera Full support 40 | Safari Full support 4 | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support 3.2 | Samsung Internet Android Full support 6.0 |
adoptedStyleSheets | Chrome Full support 73 | Edge Full support 79 | Firefox No support No | IE No support No | Opera Full support 60 | Safari No support No | WebView Android Full support 73 | Chrome Android Full support 73 | Firefox Android No support No | Opera Android Full support 50 | Safari iOS No support No | Samsung Internet Android Full support 11.0 |
caretPositionFromPoint | Chrome No support No | Edge No support No | Firefox Full support 20 | IE No support No | Opera No support No | Safari Full support Yes | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 20 | Opera Android No support No | Safari iOS Full support Yes | Samsung Internet Android No support No |
elementFromPoint | Chrome
Full support
53
| Edge Full support 12 | Firefox Full support 63 | IE Full support Yes | Opera Full support 40 | Safari Full support Yes | WebView Android
Full support
53
| Chrome Android
Full support
53
| Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android
Full support
6.0
|
elementsFromPoint | Chrome
Full support
53
| Edge
Full support
12
| Firefox Full support 63 | IE
Full support
10
| Opera Full support 40 | Safari Full support 12 | WebView Android
Full support
53
| Chrome Android
Full support
53
| Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support 12 | Samsung Internet Android
Full support
6.0
|
fullscreenElement | Chrome
Full support
53
| Edge
Full support
≤18
| Firefox
Full support
64
| IE
Full support
Yes
| Opera
Full support
40
| Safari
Full support
Yes
| WebView Android
Full support
53
| Chrome Android
Full support
53
| Firefox Android
Full support
64
| Opera Android
Full support
41
| Safari iOS
Partial support
12
| Samsung Internet Android
Full support
6.0
|
getSelection | Chrome Full support 53 | Edge Full support 12 | Firefox Full support 63 | IE Full support Yes | Opera Full support 40 | Safari Full support Yes | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
nodeFromPoint | Chrome No support No | Edge No support No | Firefox
No support
No
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android
No support
No
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
nodesFromPoint | Chrome No support No | Edge No support No | Firefox
No support
No
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android
No support
No
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
pointerLockElement | Chrome Full support 53 | Edge Full support 12 | Firefox Full support 63 | IE Full support Yes | Opera Full support 40 | Safari Full support Yes | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
styleSheets | Chrome Full support 53 | Edge Full support 12 | Firefox Full support 63 | IE Full support Yes | Opera Full support 40 | Safari Full support Yes | WebView Android Full support 53 | Chrome Android Full support 53 | Firefox Android Full support 63 | Opera Android Full support 41 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- Partial support
- Partial support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
- Uses a non-standard name.
- Uses a non-standard name.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
[1] This interface's features are still implemented on the Document
object.