【发布时间】:2013-07-23 18:44:35
【问题描述】:
我的计算机(到目前为止,我的同事中没有其他计算机)在 Chrome、IE 和 Safari 中出现问题(但在 Firefox 中没有)。简单的mousemove 代码,例如以下(已经在上面的小提琴上运行)正确捕获mousemove 事件,但只要鼠标在 div 中,每秒捕获一个mousemove 事件 - 即使我' m 不再移动鼠标。
var number = 0;
$("#foo").on("mousemove", function() { this.innerHTML = number++ });
这似乎是一个基于浏览器的问题,因为它不会在 FireFox 上显示。 (Windows 本身也不会发生这种情况。即使计数器上升,如果我不理会键盘和鼠标,我的屏幕保护程序最终也会启动。)在断定这不是系统问题之前,我尝试更换鼠标并切换它插入的 USB 端口。毫不奇怪,这些解决方案都不能解决问题。
我还没有想出如何在浏览器中使用除 javascript 之外的任何东西进行测试。
问题: 有没有人遇到过这个?我需要做什么才能抓住它吗?我的代码远没有这个依赖于知道鼠标何时移动和不移动的小提琴那么琐碎。
【问题讨论】:
-
我无法重现这个...
-
有可能解决这个问题,方法是保存鼠标位置,并在做任何需要做的事情之前检查位置是否确实不同。
-
您是否考虑过指针设备的硬件问题?
-
您是否正在使用某种可以破坏屏幕保护程序的保活程序?还是我每秒都在模拟鼠标移动的其他东西?尝试一次删除一个后台程序,看看能否解决问题。
-
我们在 WebApp 中发现了同样的问题,并将其报告给了 Chrome 团队。他们确认了这个问题:请投票here 来修复它。
标签: javascript mousemove