我正试图在画布上得到鼠标位置的和弦。但我得到的只有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);
}
发布于 2014-03-21 00:05:37
您可以这样做更简单:
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);
}
发布于 2014-03-21 01:49:24
这是另一个解决办法!
为您的mouseMoved
函数尝试以下操作:
function mouseMoved(e) {
mouseX = e.x - canvasBg.offsetLeft;
mouseY = e.y - canvasBg.offsetTop;
document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
}
完整代码的实时预览:小提琴。
参考文献
https://stackoverflow.com/questions/22547668
复制相似问题