javascript - 限制事件监听器每秒可以触发的次数

标签 javascript

我正在玩 Gamepad API - 特别是使用 Controller 上的操纵杆的轴。这些位置经常更新 - 因此,我正在监听的事件(摇杆上的移动)也经常发生。有什么方法可以限制它发生在每秒 25 次以减少延迟?

最佳答案

您不能限制触发 JavaScript 事件的速率,但您的事件处理程序可以选择对某些调用不执行任何操作。这是一个使用 mousemove 的例子(我不知道你说的是哪个 Gamepad API):

var lastMove = 0;
document.addEventListener('mousemove', function() {
    // do nothing if last move was less than 40 ms ago
    if(Date.now() - lastMove > 40) {
        // Do stuff
        lastMove = Date.now();
    } 
});

http://jsfiddle.net/jk3Qh/

关于javascript - 限制事件监听器每秒可以触发的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667010/

相关文章:

javascript - 使用 Javascript 的动态图像点击功能

javascript - 移动设备上的 Fancybox 内联弹出窗口不随页面滚动移动

javascript - 如何在窗口大小调整时重绘 SVG map ?

javascript - javascript 中关联 []、{} 和对象之间的区别

Javascript addEventListener 以某种方式无法在 Laravel 中使用 querySelector

javascript - 为多个属性调用一次函数

javascript - 不同页面字段的本地存储 JavaScript

javascript - 如何在 javascript 中向 div 添加 onclick 函数?

javascript - d3.js t.map 不是函数

php - Javascript 验证和 PHP 验证?