This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The elementsFromPoint()
property of the DocumentOrShadowRoot
interface returns an array of all elements at the specified coordinates (relative to the viewport).
var elements = document.elementsFromPoint(x, y);
An array of element
objects.
<div> <p>Some text</p> </div> <p>Elements at point 30, 20:</p> <div id="output"></div>
var output = document.getElementById("output"); if (document.elementsFromPoint) { var elements = document.elementsFromPoint(30, 20); for(var i = 0; i < elements.length; i++) { output.textContent += elements[i].localName; if (i < elements.length - 1) { output.textContent += " < "; } } } else { output.innerHTML = "<span style=\"color: red;\">" + "Browser does not support <code>document.elementsFromPoint()</code>" + "</span>"; }
Specification | Status | Comment |
---|---|---|
Shadow DOM The definition of 'DocumentOrShadowRoot' in that specification. | Obsolete | Initial definition. |
CSS Object Model (CSSOM) View Module The definition of 'Document' in that specification. | Working Draft | Specifies paint order. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 53 | Yes | Yes | Yes | 40 | Yes |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 53 | 53 | Yes | Yes | 40 | Yes | 6.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/elementsFromPoint