将多个 Javascript 事件折叠为单个事件



我有一个函数,每次用户键入键时都会被触发。我想将这些事件折叠一下,以便以(例如)500 毫秒的最大速率触发事件。

有没有一种简单的方法可以在Javascript或流行的库中做到这一点?还是我应该编写自己的超时逻辑?

编写自己的代码相当容易:

$('element').on('keyup', function() {
    clearTimeout($(this).data('timer')); // stops the below function if new key
                                         // is pressed within 0.5 seconds
    $(this).data('timer', 
        setTimeout(function() {
            // do stuff
        }, 500)
    )
});

或者你可以使用一个插件,jQuery Throttle似乎很受欢迎。

相关内容

  • 没有找到相关文章

最新更新