Javascript jQuery中的Debounce函数

Javascript jQuery中的Debounce函数,javascript,jquery,debouncing,Javascript,Jquery,Debouncing,我试图使用Ben Alman的jquery去抖动库去抖动按钮的输入。 目前这是我的代码 function foo() { console.log("It works!") }; $(".my-btn").click(function() { $.debounce(250, foo); }); 问题是,当我单击按钮时,函数永远不会执行。我不确定我是否误解了什么,但据我所知,我的代码与示例相符。我遇到了同样的问题。问题的出现是因为解盎司函数返回一个新函数,而该函数在任何地方都没

我试图使用Ben Alman的jquery去抖动库去抖动按钮的输入。

目前这是我的代码

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

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

问题是,当我单击按钮时,函数永远不会执行。我不确定我是否误解了什么,但据我所知,我的代码与示例相符。

我遇到了同样的问题。问题的出现是因为解盎司函数返回一个新函数,而该函数在任何地方都没有被调用

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

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

或者
$(“.my btn”)。当然可以单击($.debounce(250,foo))
。这是一个非常小的插件,但是为什么您需要它,特别是对于一个非常容易解除绑定和重新绑定的事件处理程序->如何强制jQuery插件的使用者安装另一个插件?这应该是核心API的一部分。如果节流阀不是去盎司,也可以使用JSFIDLE示例。