首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的和弦是NaN,NaN

我的和弦是NaN,NaN
EN

Stack Overflow用户
提问于 2014-03-21 00:03:39
回答 2查看 1.2K关注 0票数 0

我正试图在画布上得到鼠标位置的和弦。但我得到的只有NaN,NaN

代码语言:javascript
运行
复制
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);

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-21 00:05:37

您可以这样做更简单:

代码语言:javascript
运行
复制
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);
}
票数 0
EN

Stack Overflow用户

发布于 2014-03-21 01:49:24

这是另一个解决办法!

为您的mouseMoved函数尝试以下操作:

代码语言:javascript
运行
复制
function mouseMoved(e) {
    mouseX = e.x - canvasBg.offsetLeft;
    mouseY = e.y - canvasBg.offsetTop;

    document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
}

完整代码的实时预览:小提琴

参考文献

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22547668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档