每3秒获取鼠标位置

4

我希望每隔3秒获取页面上的鼠标坐标,但是在setInterval函数中,Event对象未定义。

function mouse() {
  console.log(window.event) // => undefined
}
setInterval(mouse, 3000)

如何处理?


1
为什么你想要这么做?为什么不响应 mousemove 事件呢? - lonesomeday
2个回答

4
var m_pos_x,m_pos_y;
window.onmousemove = function(e) { m_pos_x = e.pageX;m_pos_y = e.pageY; }
setInterval(function() { console.log("x= " + m_pos_x + "y = " + m_pos_y); },3000);

我觉得这不是一个跨浏览器的解决方案。 - KooiInc
嗯,是的。但是浏览器不应该以相同的方式解释JavaScript吗?我知道以前存在问题,但现在已经是2011年了。一定有人做了些什么来解决这些“跨浏览器”的问题! - user744186
@Aleksander:浏览器应该做什么和它们实际上做什么之间存在很大的差距,即使在2011年也是如此。实际上就像现实生活一样。 - KooiInc
谢谢!这让我朝着正确的方向前进了。我已经在这上面跌跌撞撞了大约40分钟了。谢谢! - Matt Zelenak

0
钩取mousemove事件并记录每次移动的位置。如果您没有收到mousemove事件,则表示它尚未移动或不在您的窗口中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接