gpt4 book ai didi

javascript - 在事件处理程序中,鼠标坐标相对于 React 中的 currentTarget

转载 作者:行者123 更新时间:2023-12-03 13:58:03 24 4
gpt4 key购买 nike

我有一个外部 div 捕获 onWheel鼠标事件。在处理程序中,我想知道鼠标指针相对于外部 div 的坐标。例如:

constructor() {
this.handleWheel = this.handleWheel.bind(this);
}

handleWheel(event) {
// how do I get mouse position relative to the outer div here?
}

render() {
return (
<div onWheel={this.handleWheel}>
...
<img src="..." />
...
</div>
)
}

当我将鼠标指针移到图像上并滚动鼠标滚轮时,event.target设置为 <img>event.currentTarget设置为 <div> 。我还可以获得相对于 event.target 的鼠标位置( event.nativeEvent.offsetX/Y ),但这对我没有帮助,因为我不知道 <img> 的位置相对于<div>

换句话说,我陷入了困境......如何获取相对于附加处理程序的元素的鼠标位置?

最佳答案

我找到了一个有效的解决方案,如果它对某人有帮助,我会将其发布在这里。我不确定它是否是最好的,所以我希望得到一些评论(以及可能更好的解决方案)。

handleWheel(event) {
let currentTargetRect = event.currentTarget.getBoundingClientRect();
const event_offsetX = event.pageX - currentTargetRect.left,
event_offsetY = event.pageY - currentTargetRect.top;
//...
}

关于javascript - 在事件处理程序中,鼠标坐标相对于 React 中的 currentTarget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48389143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com