Подтвердить что ты не робот

Функция debounce в jQuery

Я пытаюсь отменить ввод кнопки, используя библиотеку debugcing 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);
});

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

4b9b3361

Ответ 1

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

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

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