我建立了一个JavaScript反跳函数,如果这是正确的方法,那么我需要JavaScript专家的意见,如果不是,那么当前函数的缺点是什么。预先感谢您的意见,这将有助于我学习。
var debounce = function(inpFun, wait) {
var timeout;
return function () {
if(!timeout) {
inpFun.apply(this, arguments);
timeout = setTimeout(function() {
timeout = undefined;
}, wait);
}
else {
console.log("Debouncing");
}
}
};
var buttonClickFunction = debounce(function (event) {
console.log("Button Clicked");
console.log(event.target.id);
}, 2000);
document.querySelector("#button1").addEventListener("click", buttonClickFunction);
<button id="button1">Button</button>
答案 0 :(得分:-1)
在我看来,在这种情况下最有用的事情就是看专家的所作所为。因此,lodash和下划线都提供了去抖动的实现,您可以这样找到它们:
如果您想深入了解此类代码,请阅读该文件的提交历史记录,并在第一个链接中阅读有关节气门和反跳之间的区别的博客文章,并且一般来说,您可以从其他内容中吸取最大的精力挣扎着。