ClientY给了我Nan,但是pageY和offsetY正在工作

时间:2017-04-24 09:40:00

标签: javascript

我正在尝试获取鼠标位置,为此我使用以下代码:

function calculateMousePos(e) {
        var rect = canvas.getBoundingClientRect();
        var root = document.documentElement;
        var mouseX = e.offsetX - rect.left - root.scrollLeft;
        var mouseY = e.offsetY - rect.top - root.scrollTop;
        return {
            x: mouseX,
            y: mouseY
        };
    }

它工作正常,但我使用的教程要求使用'ClientX'和'ClientY'而不是偏移和/或pageX / Y等。

但每当我使用ClientX / Y时,我得到的位置是NaN,我通过控制台记录鼠标位置来检查它。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

没关系,这是错字。我在随机查看代码时发现了错误。我一直在键入ClientX而不是clientX。