React 的 mouseEvent 没有 offsetX/offsetY

IT技术 reactjs
2021-05-16 05:15:16

我尝试获取相对于元素的点击位置,但事件没有 offsetX。

onClick(e) {
  console.log(e.offsetX) // returns undefined
  console.log(e.target.offsetX) // returns undefined
}

render() {
  return <img src='http://placehold.it/1000x500' onClick={this.onClick} />
}

如何获得元素中的点击位置?

2个回答

哦,我明白了。我从e.nativeEvent.offsetX. 这是正确的方法吗?

我发现 evt.nativeEvent.offsetX 导致我的组件出现问题,我的组件经常闪烁并且有点奇怪,我还没有完全调试它,但我改用了

React.createRef 或 React.useRef 在父容器上,然后使用 event.clientX - ref.current.getBoundingClientRect().left 发现这对我更有效