0

我有一个功能,每次用户键入一个键时都会触发。我想将这些事件折叠一点,以便以(比如说)500 毫秒的最大速率触发这些事件。

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

4

1 回答 1

1

编写自己的相当容易:

$('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似乎很流行。

于 2013-11-12T00:55:19.410 回答