DocumentOrShadowRoot.elementsFromPoint()

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

elementsFromPoint()DocumentOrShadowRoot インターフェイスのメソッドで、指定された座標 (ビューポートからの相対) にあるすべての要素の配列を返します。

これは elementFromPoint() メソッドと同じような方法で動作します。

構文

const elements = document.elementsFromPoint(x, y);

引数

x

点の水平座標です。

y

点の垂直座標です。

返値

Element オブジェクトの配列です。

HTML

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

JavaScript

let output = document.getElementById("output");
if (document.elementsFromPoint) {
  let 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
CSSOM View Module
# dom-document-elementsfrompoint

ブラウザーの互換性

BCD tables only load in the browser

関連情報