Мои координаты NaN, NaN
Я пытаюсь получить координаты моей позиции мыши на холсте. но все, что я вернусь, это NaN, NaN
var canvasBg = document.getElementById('canvasBg');
var ctxBg = canvasBg.getContext('2d');
var mouseX;
var mouseY;
canvasBg.addEventListener('mousemove', mouseMoved, false);
canvasBg.addEventListener('click', mouseClicked, false);
function mouseMoved(e) {
mouseX = e.pageX - canvasBg.pageOffsetLeft;
mouseY = e.pageY - canvasBg.pageOffsetTop;
document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
}
function mouseClicked(e) {
alert( mouseX + "," + mouseY);
}
2 ответа
Решение
Вы можете сделать это проще:
function mouseMoved(e) {
mouseX = e.offsetX;
mouseY = e.offsetY;
document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
}
function mouseClicked(e) {
alert( e.offsetX + "," + e.offsetY);
}
Вот еще одно решение!
Попробуйте это для вашего mouseMoved
функция:
function mouseMoved(e) {
mouseX = e.x - canvasBg.offsetLeft;
mouseY = e.y - canvasBg.offsetTop;
document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
}
Предварительный просмотр полного кода: Fiddle.