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>";
}

仕様書

仕様書 状態
Shadow DOM
elementsFromPoint() の定義
廃止
CSS Object Model (CSSOM) View Module
elementsFromPoint() の定義
草案

ブラウザーの互換性

No compatibility data found for api.DocumentOrShadowRoot.elementsFromPoint.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

関連情報