Самый простой способ - это, вероятно, добавить прослушиватель событий 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 */
}
Вычтите смещения X и Y элемента DOM холста из положения мыши, чтобы получить локальное положение внутри холста.
Также обратите внимание, что вам понадобится CSS:
position: relative;
установленный для вашего тега canvas, чтобы получить относительное положение мыши внутри холста.
И смещение меняется, если есть граница