DocumentOrShadowRoot.nodeFromPoint()

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The nodeFromPoint() property of the DocumentOrShadowRoot interface returns the topmost node at the specified coordinates (relative to the viewport).

Currently this method is only implemented in Firefox, and only available to chrome code.

Syntax

var node = document.nodeFromPoint(x, y);

Parameters

x
A double representing the horizontal coordinate of a point.
y
A double representing the vertical coordinate of a point.

Returns

A Node object.

Examples

HTML Content

<div>
  <p>Some text</p>
</div>
<p>Top node at point 30, 20:</p>
<div id="output"></div>

JavaScript Content

var output = document.getElementById("output");
if (document.nodeFromPoint) {
  var node = document.nodeFromPoint(30, 20);
    output.textContent += node.localName;
} else {
  output.innerHTML = "<span style=\"color: red;\">" +
     "Browser does not support <code>document.nodeFromPoint()</code>" +
     "</span>";
}

Specifications

Not part of any specification at present.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
nodeFromPoint
ExperimentalNon-standard
Chrome No support NoEdge No support NoFirefox No support No
Notes
No support No
Notes
Notes Implemented in Firefox but currently only works in chrome code.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support No
Notes
No support No
Notes
Notes Implemented in Firefox but currently only works in chrome code.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

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.

See Also