gpt4 book ai didi

javascript - mousemove 在控制台打开时更频繁地触发?

转载 作者:行者123 更新时间:2023-12-05 00:26:12 27 4
gpt4 key购买 nike

我遇到了一些奇怪的事情,但我不确定它是否是故意的或者是什么原因造成的。
我正在试验一些 JavaScript,当用户在屏幕上移动鼠标时循环一组图像。我正在使用 jQuery mousemove为了这。这是一个 fiddle :https://jsfiddle.net/sy35dzeh/1/
我遇到的行为是鼠标移动时的某种 throttle 。我希望移动每个像素以增加 pixelCount多变的。但是当在较长的扫描中移动鼠标时,似乎迭代达到了极限。这会导致在缓慢移动鼠标时计数器增加得更快,因为每次添加的“像素”更多。我知道这可能是 mousemove有效,但最重要的是,它在打开开发人员工具时表现不同。
当我在 Chrome 中打开开发者工具尝试再次移动鼠标时,迭代速度要快得多。这是我想要的行为,当鼠标移动速度较慢时迭代变慢,而鼠标移动速度更快时迭代速度更快。
这是一个视频的区别:
https://streamable.com/okqql3
知道为什么当我打开控制台时它会有所不同,以及如何使鼠标移动以我希望它的行为方式影响迭代(比如当我打开开发人员工具时)?

最佳答案

我使用 event.getCoalescedEvents() 修复了它这得到了缺失的“中间” Action 。
请注意,您需要收听“pointermove”,我正在这样做。

 this.canvas.addEventListener('pointermove', this.onMouseMove.bind(this), { passive: true });

onMouseMove(event) {
const events = event.getCoalescedEvents();
for (let i = 0; i < events.length; i++) this.onMovement(events[i]);
}

onMovement(event) {
// standard processing
}

关于javascript - mousemove 在控制台打开时更频繁地触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63399890/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com