React的mouseEvent没有offsetX / offsetY

时间:2015-07-20 14:57:44

标签: reactjs

我尝试获取点击相对于元素的位置,但事件没有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 个答案:

答案 0 :(得分:57)

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

答案 1 :(得分:1)

我发现evt.nativeEvent.offsetX导致我的组件频繁闪烁且有点怪异的问题,我还没有完全调试它,但是我转而使用

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