Javascript 反应,要获取当前元素的当前鼠标位置吗

Javascript 反应,要获取当前元素的当前鼠标位置吗,javascript,reactjs,Javascript,Reactjs,我想在a中获得鼠标的当前位置,然后在a中的该位置上绘制一些东西 ---------------------------------------------- | | | | | -------------------------- | | | |

我想在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();

}