Функция Debounce в jQuery

Я пытаюсь разоблачить ввод кнопки, используя библиотеку дебютирования jQuery от Ben Alman. http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/

в настоящее время это код, который у меня есть.

function foo() {
    console.log("It works!")
};

$(".my-btn").click(function() {
    $.debounce(250, foo);
});

проблема в том, что когда я нажимаю на кнопку, то функция не выполняется. Я не уверен, что я что-то неправильно понял, но, насколько я могу судить, мой код соответствует примеру.

1 ответов


я столкнулся с такой же проблемой. Проблема происходит потому, что функция debounce возвращает новую функцию, которая нигде не вызывается.

чтобы исправить это, вам нужно будет передать функцию debouncing в качестве параметра событию jQuery click. Вот код, который вы должны иметь.

$(".my-btn").click($.debounce(250, function(e) {
    console.log("It works!");
}));