不断触发 mousemove 事件

时间:2021-02-03 19:52:12

标签: javascript

我有一个在移动光标时触发的脚本:

window.addEventListener('mousemove', function(e){
        mouse.x = e.x;
        mouse.y = e.y;

        // This script changes the position of an object in relation to the mouse-position.
});

问题: 可能会发生以下情况:光标没有被移动,但是相对于光标移动的对象改变了它的大小,为了使对象保持在正确的位置,脚本必须不断运行。 (……当对象改变大小时。)

我希望 EventListener 内部的函数不断被调用,即使光标没有移动,我该怎么做?


我知道这是可行的,因为在移动设备上,对象相对于设备方向移动,一切都按照我想要的方式运行,因为移动设备内部的陀螺仪传感器通常会不断吐出输出新值,即使设备基本上完全静止。 – 那么这些值只会发生很小的变化,但它有效。 – 即使光标不移动,这种值的不断刷新也是我在桌面上所需要的。

1 个答案:

答案 0 :(得分:0)

如果你使用requestAnimationFrame,浏览器会知道你想要执行一个动画(移动光标相关的对象),并会在下次重绘之前执行回调函数(requestAnimationFrame 的参数)。

不要忘记在回调函数中调用 requestAnimationFrame。