在Javascript中触发mousemove如何工作?
我有一个对象在每个鼠标移动时打印鼠标的x和y位置。
这是这样的:
$('#canvas').mousemove(function(e){
$('#output').prepend(e.pageX + ',' + e.pageY);
});
我注意到,当你快速移动对象时,它只打印出几个位置。
我并不是完全不满意这样做(因为要让它为所有数百个像素做点什么都是非常详尽的),但我想知道它是如何工作的。
mousemove事件是否限于每秒一定数量的触发器或什么?
(顺便说一句:这是在Ubuntu Linux中的Chromium上测试的)
“小鼠只能每秒n次向操作系统报告自己的位置,我认为n通常小于100”
你可能想看看这个,因为这可能依赖于浏览器,
http://javascript.info/tutorial/mouse-events#mousemove-and-mouseover-frequency,但是,如果你看看这个问题,有一个关于如何获得更好回应的建议。
如何设置mousemove更新速度?
我认为它是同步的。 对于您移动鼠标的每个像素都不会触发它,这意味着事件不会排队。
假如你有一些这样的代码。
$('#canvas').mousemove(function(e){
//Some code which takes seconds to execute
//All subsequent events won't be dispatched while this event handler is executing.
});
例如,如果在鼠标移动事件处理程序执行时移动鼠标。 mousemove
处理程序不会被触发。
这是一个需要几秒钟执行的处理程序的例子。 - > http://jsfiddle.net/78Hf3/1/
而且只需要很少的时间 - > http://jsfiddle.net/78Hf3/2/
链接地址: http://www.djcxy.com/p/6915.html上一篇: How does the triggering of mousemove work in Javascript?
下一篇: html