一尘不染

获取鼠标在画布中的位置[重复]

javascript

有没有一种方法可以将位置鼠标插入<canvas>标签?我想要相对于而<canvas>不是整个页面右上角的位置。


阅读 260

收藏
2020-05-01

共1个答案

一尘不染

最简单的方法可能是向canvas元素添加onmousemove事件侦听器,然后您可以从事件本身获取相对于画布的坐标。

如果您只需要支持特定的浏览器,则完成此任务很简单,但是f.ex之间存在差异。Opera和Firefox。

像这样的东西应该适用于这两个:

function mouseMove(e)
{
    var mouseX, mouseY;

    if(e.offsetX) {
        mouseX = e.offsetX;
        mouseY = e.offsetY;
    }
    else if(e.layerX) {
        mouseX = e.layerX;
        mouseY = e.layerY;
    }

    /* do something with mouseX/mouseY */
}
2020-05-01