鼠标在IE中的位置

Mouse position in IE

本文关键字:位置 IE 鼠标      更新时间:2023-09-26
var mousemove = function(event) {
    var xpos = event.x || event.clientX;
    console.log(xpos);
}
window.addEventListener('mousemove', mousemove);

我有以下代码,在Chrome和Firefox上工作得很漂亮,但通常在IE上没有。IE似乎是报告鼠标位置相对于当前元素,它悬停在或焦点被切换到某个地方,它变得混乱,而不是事件绑定的窗口。

代码是在一个离画布的导航系统上使用的,我正在计算鼠标是否从屏幕的左边小于5%(导航所在的地方)。

任何让它玩得很好的想法都会很棒。

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

var mousemove = function(event) {
    var xpos = event.screenX;
    console.log(xpos);
}
window.addEventListener('mousemove', mousemove);

此函数返回相对于视窗或相对于页面的鼠标位置。

    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
        };
    };

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

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