IE中的鼠标位置

Mouse position in IE

var mousemove = function(event) {
    var xpos = event.x || event.clientX;

    console.log(xpos);
}

window.addEventListener('mousemove', mousemove);

我有以下代码,它在 Chrome 和 Firefox 上运行良好,但通常在 IE 上运行不佳。 IE 似乎正在报告鼠标相对于鼠标悬停在当前元素上的位置,或者焦点正在某处切换并且变得混乱,而不是事件绑定到的 window。

该代码用于关闭-canvas 导航系统我正在计算鼠标距离屏幕左侧(导航所在的位置)是否小于 5%。

如果有任何让它能很好地播放的想法都很棒。

感谢 Tero 提供的资源并帮助我解决了这个问题,请在下面找到修改后的代码。

var mousemove = function(event) {
    var xpos = event.screenX;

    console.log(xpos);
}

window.addEventListener('mousemove', mousemove);

有很多方法可以做到。 一种方法是使用 jQuery.

$(window).mousemove(function(event){console.log(event.clientX);});

此函数returns鼠标位置相对于视口或相对于页面。

    var getMousePosition = function(e, relativeToViewport) {
        var x = relativeToViewport ? e.clientX : e.pageX || e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
        var y = relativeToViewport ? e.clientY : e.pageY || e.clientY + document.body.scrollTop + document.documentElement.scrollTop;

        return {
            x: x,
            y: y
        };
    };