elementFromPoint:获取页面上特定点的元素

document.elementFromPoint 方法接受 xy 两个参数,以识别出在某一点上的最顶层的元素。

javascript 复制代码
 // Returns the topmost element at the specified coordinates
 const element = document.elementFromPoint(x, y);

 // Returns an array of all the elements at the specified coordinates
 const elements = document.elementsFromPoint(x, y);

比如想通过鼠标位置来获取元素节点,那可以这样:

javascript 复制代码
 // 获取鼠标当前位置的元素节点
 document.addEventListener('mousemove', function(event) {
   var x = event.clientX; // 鼠标的X坐标
   var y = event.clientY; // 鼠标的Y坐标

   var element = document.elementFromPoint(x, y); // 获取元素节点

   // 在这里可以对获取到的元素进行操作
   console.log(element);
 });

当鼠标移动时,它会捕获当前鼠标位置 (x, y) 下的元素,并将其打印到控制台中。您可以根据需要在获取到的元素上执行其他操作。

可能得应用场景

  • 鼠标事件处理:您可以使用它来确定在鼠标事件(如点击或悬停)发生时鼠标所在的元素,以便执行与该元素相关的操作。
  • 拖放操作:在拖放操作期间,可以使用它来查找鼠标指针下的元素,以确定拖放的目标元素或可放置区域。
  • 图像地图:对于使用图像地图创建的交互式图形,可以使用此方法来确定用户单击的是图像地图中的哪个区域。
  • 自定义上下文菜单:如果您实现了自定义上下文菜单,可以使用此方法确定在何处显示菜单,以便与特定元素关联。
  • 可视化工具:在开发可视化工具或调试工具时,您可以使用它来获取特定坐标下的元素,以显示有关该元素的信息或执行相关操作。
  • 坐标转换:有时候,可能需要将页面上的坐标映射到元素内部的坐标空间,这可以通过 elementFromPoint 来实现。

最后,少不了浏览器的兼容性,看着还不错的样子。

相关推荐
梦曦i3 分钟前
RouterLink v2.5.0:H5端原生能力全面回归
前端·uni-app
小林ixn16 分钟前
React + Zustand + JWT:从零实现登录鉴权与请求拦截
前端·react.js·前端框架
葡萄城技术团队21 分钟前
下拉多选类型单元格:在 SpreadJS 里接入 xm\-select
前端
粥里有勺糖1 小时前
视野修炼-技术周刊第130期 | 光影效果
前端·javascript·github
小岛前端1 小时前
AI Skills 已经封神,但新的问题却越来越严重!
前端·后端·github
拖孩1 小时前
一个人 + AI 做的小程序,上线 15 天赚了 10 块 5
前端·后端·微信小程序
用户93983829415991 小时前
安卓自动化脚本热更新怎么做?不重新打包 APK 也能更新代码
前端
猫七先生1 小时前
在 React 里用 PMTiles 自托管底图
前端
tanghonghanhaoli1 小时前
【图书翻译】有意义的游戏设计:桌面游戏的方法论与心理学(第1、2章)
前端·游戏·ui
光影少年1 小时前
react native打包优化、包体积瘦身、离线包/热更新方案
前端·react native·react.js