Получение местоположения мыши в холсте [дубликат]

отзовитесь эхом "Вы выполняете 0$"

43
задан Dagg Nabbit 18 July 2010 в 07:29
поделиться

3 ответа

Самый простой способ - это, вероятно, добавить прослушиватель событий 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 */
}
41
ответ дан 26 November 2019 в 22:30
поделиться

Вычтите смещения X и Y элемента DOM холста из положения мыши, чтобы получить локальное положение внутри холста.

-1
ответ дан 26 November 2019 в 22:30
поделиться

Также обратите внимание, что вам понадобится CSS:

position: relative;

установленный для вашего тега canvas, чтобы получить относительное положение мыши внутри холста.

И смещение меняется, если есть граница

22
ответ дан 26 November 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: