Javascript 反应,要获取当前元素的当前鼠标位置吗
我想在a中获得鼠标的当前位置,然后在a中的该位置上绘制一些东西Javascript 反应,要获取当前元素的当前鼠标位置吗,javascript,reactjs,Javascript,Reactjs,我想在a中获得鼠标的当前位置,然后在a中的该位置上绘制一些东西 ---------------------------------------------- | | | | | -------------------------- | | | |
----------------------------------------------
| |
| |
| -------------------------- |
| | | |
| | | |
| | . 使用e.clientX-e.target.offsetLeft
和e.clientY-e.target.offsetTop
。画布的左上角(粉红色)显示的是0,0,这似乎是正确的。e.clientX/Y我相信。这也不起作用……如果我单击div的左上角,它会显示(98188),而不是(0,0)…你能解释一下e.clientX-e.target.offsetLeft
和e.clientY-e.target.offsetTop
有什么问题吗?我想这是针对当前某个部门的X。。。我不知道这个公式是如何产生的。我用谷歌搜索了一下。谢谢,代码在鼠标位置工作。我的第一行代码(e.nativeEvent.offsetX)不起作用,所以我在谷歌上搜索了其他代码,代码(e.clientX-e.target.offsetLeft)作用于鼠标位置,但不是Drown对象的位置,我忘记了这一点(鼠标位置起作用,但不是要绘制的对象的位置),只是将这个问题作为鼠标位置问题发布。我很抱歉。。。
<chrome screen>
----------------------------------------------
| |
| <div> |
| -------------------------- |
| | | |
| | | |
| | . <-- mouse position and i want to draw something here
| | when clicking here |
| |------------------------| |
| |
|--------------------------------------------|
render(){
return (
<canvas ref="canvas" className="DrawReflect" onMouseDown={this.startDrawing}>
</canvas>
);
}
startDrawing(e){
switch(this.context.drawingTool){
case "pen":
// Stuck on getting mouse position. None of google's source is not accurate.
//this.drawPen(e.nativeEvent.offsetX, e.nativeEvent.offsetY);
//this.drawPen(e.pageX - e.target.offsetLeft, e.pageY - e.target.offsetTop);
break;
}
}
drawPen(cursorX, cursorY){
// Just for showing drawing information in a label
this.context.updateDrawInfo({
cursorX: cursorX,
cursorY: cursorY,
drawingNow: true
});
// Draw something
const canvas = this.refs.canvas;
const canvasContext = canvas.getContext("2d");
canvasContext.beginPath();
canvasContext.arc(
cursorX, cursorY /* start position */,
1, /* radius */
0, /* start angle */
2 * Math.PI /* end angle */);
canvasContext.stroke();
}