点赞!关注!共同的希望!!!
希望提供类似elementFromPoint功能的api- 需求的场景描述(希望解决的问题) 目前小程序已经提供了NodesRef.boundingClientRect这个API,可实现返回节点的布局位置查询,其功能类似于 DOM 的 getBoundingClientRect,但在开发中我们有时需要反过来,也就是判断在视口中的指定坐标或位置上有什么元素,这就需要用到DOM中的elementFromPoint功能,但微信小程序目前还无法通过相应的方法来实现。 - 希望提供的能力 希望能提供NodesRef.boundingClientRect的反操作方法类似elementFromPoint这个api 附:Dom的elementFromPoint()方法 elementFromPoint() 传递X和Y坐标(相对于视口),该方法选择在指定坐标的最上层和最里层的Element对象。如果指定的点在视口以外,elementFromPoint()返回null 最上层是指z-index最大的元素;最里层是指最里层的子元素 <body style="margin:0"><div id="test" style="width: 100px;height: 100px;"> <span id="span1">123</span></div><script>console.log(document.elementFromPoint(2,2).id); //span1</script> elementFromPoint 语法: oElement = document . elementFromPoint ( iX , iY ) 参数: iX : 必选项。整数(Integer)。单位:象素(Pixel)。定位横坐标偏移量。 iY : 必选项。整数(Integer)。单位:象素(Pixel)。定位纵坐标偏移量。 返回值: oElement : 对象(Element)。返回获取的对象的引用。 说明: 根据横纵坐标值 iX 和 iY 获取对象 oElement 。 oElement 必须支持和响应鼠标事件。 提供的坐标是客户区坐标。客户区的左上角为 (0,0)。 当将此方法用于 Structured Graphics 或 Sprite 对象时,必须设置 MouseEventsEnabled 属性值为 1 。
2020-07-20