Get the mouse coordinates when clicking on canvas

后端 未结 2 849
予麋鹿
予麋鹿 2021-01-02 16:27

A common question, but I still need help. I\'m trying to get and store the mouse coordinates when someone clicks within the canvas.

my HTML



        
相关标签:
2条回答
  • 2021-01-02 16:37

    I am using this piece of code.

    var myCanvas = document.querySelector('#canvas');
    
    myCanvas.addEventListener('click', function(event) {
        var rect = myCanvas.getBoundingClientRect();
        var x = event.clientX - rect.left;
        var y = event.clientY - rect.top;
        console.log("x: " + x + " y: " + y); 
    }, false);
    <canvas width="400" height="400" id="canvas" style="background-color: lightblue"></canvas>

    0 讨论(0)
  • 2021-01-02 16:50

    You could achieve that by using the offsetX and offsetY property of MouseEvent

    //setup canvas
    var canvasSetup = document.getElementById("puppyCanvas");
    var ctx = canvasSetup.getContext("2d");
    guessX = 0; //stores user's click on canvas
    guessY = 0; //stores user's click on canvas
    function storeGuess(event) {
        var x = event.offsetX;
        var y = event.offsetY;
        guessX = x;
        guessY = y;
        console.log("x coords: " + guessX + ", y coords: " + guessY);
    }
    <canvas id="puppyCanvas" width="500" height="500" style="border:2px solid black" onclick="storeGuess(event)"></canvas>

    0 讨论(0)
提交回复
热议问题