e.screenY给出错误的值(鼠标坐标)

时间:2017-06-19 06:54:10

标签: javascript events mouseevent coordinates mouselistener

我无法获得Y鼠标坐标。

function mouseDistance() {
    document.onmousemove = handleMouseMove;
    function handleMouseMove(e) {
        document.getElementById("tester").innerHTML = e.screenX + " " + e.screenY;
    }
}

function mainLoop() {
    mouseDistance();
    requestAnimationFrame(mainLoop);
}
requestAnimationFrame(mainLoop);

e.screenX工作正常,但e.screenY却没有。在html体中,在最顶端,它不会低于95px(不应该是0?)。

我确实有'CSS重置'。

示例:左上角的鼠标位于x:0; y:95;

1 个答案:

答案 0 :(得分:1)

原因是screenY全局(屏幕)坐标中提供鼠标指针的垂直坐标(偏移)。

您可能想要使用的属性是clientY,它返回事件发生的应用程序客户区域内的垂直坐标。

  

例如,单击客户区左上角将始终导致clientY值为0的鼠标事件,无论页面是否垂直滚动。