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 来实现。

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

相关推荐
AKA__老方丈25 分钟前
vue-cropper图片裁剪、旋转、缩放、实时预览
前端·vue.js
梦6501 小时前
Vue 单页面应用 (SPA) 与 多页面应用 (MPA) 对比
前端·javascript·vue.js
清铎1 小时前
大模型训练_week3_day15_Llama概念_《穷途末路》
前端·javascript·人工智能·深度学习·自然语言处理·easyui
岛泪2 小时前
把 el-cascader 的 options 平铺为一维数组(只要叶子节点)
前端·javascript·vue.js
Kiyra3 小时前
阅读 Netty 源码关于 NioEventLoop 和 Channel 初始化部分的思考
运维·服务器·前端
冰暮流星3 小时前
javascript的switch语句介绍
java·前端·javascript
做科研的周师兄3 小时前
【MATLAB 实战】|多波段栅格数据提取部分波段均值——批量处理(NoData 修正 + 地理信息保真)_后附完整代码
前端·算法·机器学习·matlab·均值算法·分类·数据挖掘
da_vinci_x3 小时前
图标量产:从“手绘地狱”到“风格克隆”?Style Reference 的工业化实战
前端·游戏·ui·prompt·aigc·设计师·游戏美术
利刃大大3 小时前
【ES6】变量与常量 && 模板字符串 && 对象 && 解构赋值 && 箭头函数 && 数组 && 扩展运算符 && Promise/Await/Async
开发语言·前端·javascript·es6
天若有情6733 小时前
ES6 模块与 CommonJS 的区别详解
前端·javascript·es6