JavaScriptでマウスの位置にある要素を取得する
面白そうな関数なので覚書
φ(..)メモメモ...
document.elementFromPoint()
var x = 100;
var y = 100;
var element = document.elementFromPoint(x, y);
document.addEventListener('click', function(event) {
var x = event.clientX;
var y = event.clientY;
var element = document.elementFromPoint(x, y);
console.log(element);
});
備考
- 要素が重なっている場合、最前面の要素を取得します
pointer-events: none;
の要素は無視されます- 指定要素の親要素が
<iframe>
の場合、<iframe>
を取得します - 重なっている要素すべてを取得する関数もあります
document.elementsFromPoint()
- キャレット位置(カーソル位置)を取得する関数もあります
document.caretPositionFromPoint()
思いつく使用用途
- テスト作業
- 要素の簡易な指定
- 拡張機能/ユーザースクリプトで対象要素を指定する
:hover
のJavaScriptでの代用