24
我尝试获取点击相对于元素的位置,但事件没有offsetX。React的mouseEvent没有offsetX/offsetY
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} />
}
如何获取点击元素的位置?
是的,这是正确的方法。由react返回的事件对象是一个反应SyntheticEvent,它封装了普通的JavaScript事件对象并包含一些跨浏览器的便利。但是,正如您发现的,本地事件仍然可以在e.nativeEvent上访问。 –
作品,非常感谢 –
@MikeDriver只是这样做:'onClick = {(e)=> this.onClick(e,e.nativeEvent.offsetX)}' –