jQuery中的Debounce功能

时间:2015-01-05 20:57:16

标签: javascript jquery debouncing

我试图使用Ben Alman的jquery debouncing库去除按钮的输入。 http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/

目前这是我的代码。

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

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

问题是当我点击按钮时,该功能永远不会执行。我不确定我是否误解了某些内容,但据我所知,我的代码与示例匹配。

1 个答案:

答案 0 :(得分:46)

我遇到了同样的问题。这个问题正在发生,因为去抖函数会返回一个不能在任何地方调用的新函数。

要解决此问题,您必须将debouncing函数作为参数传递给jquery click事件。这是您应该拥有的代码。

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