Ответ, предоставленный Н. Ролером, хорошо работает только в Internet Explorer (с некоторыми ошибками до IE8 - но я думаю, это не будет проблемой для вас, поскольку вы используете canvas и pageX), а в Opera, еслиотступ - 0, и в Safari / Chrome, если ширина границы также равна 0.В Firefox, к сожалению, offsetX и offsetY не определены.http://www.quirksmode.org/dom/w3c_cssom.html#mousepos
Kaninepete, я думаю, вы должны пересмотреть, для простоты, способ получения координат мыши относительно вашего элемента canvas.Все, что вам нужно сделать, это вычислить положение холста, что является довольно простой задачей с использованием .getBoundingClientRect () (также не забудьте добавить смещения прокрутки, если это необходимо), и вычесть его из pageX и pageY.