收藏
回答

希望提供类似elementFromPoint功能的api

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 NodesRef.boundingClientRect 客户端 6.7 2.0.0

- 需求的场景描述(希望解决的问题)

目前小程序已经提供了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 。

最后一次编辑于  2018-09-21  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 纸老虎
    纸老虎
    2018-09-21

    谢谢,为盼~

    2018-09-21
    赞同
    回复
  • var 友原
    var 友原
    2018-09-21

    您好,您的建议我们已经收到,这边会进行评估,感谢您的建议

    2018-09-21
    赞同
    回复