我尝试获取点击相对于元素的位置,但事件没有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} />
}
如何获取点击元素的位置?
答案 0 :(得分:57)
哦,好吧,我明白了。
我是从e.nativeEvent.offsetX
得到的。这是正确的方法吗?
答案 1 :(得分:1)
我发现evt.nativeEvent.offsetX导致我的组件频繁闪烁且有点怪异的问题,我还没有完全调试它,但是我转而使用
在父容器上使用React.createRef或React.useRef,然后使用event.clientX-ref.current.getBoundingClientRect()。left并发现这对我来说效果更好