一段js代码问题?
这是以前写在老项目里的防抖处理逻辑, 现在单独拿出来调试. 出了点问题...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button>按钮</button>
<script src="http://localhost:8000/node_modules/mdb/js/jquery.min.js"></script>
<script>
function debounce(func, wait) {
let timeout;
return () => {
clearTimeout(timeout);
timeout = setTimeout(func, wait);
}
}
$('button').click(() => {
debounce(() => {
console.log(123);
}, 1000);
})
</script>
</body>
</html>
需要实现的功能是当连续点击按钮, 延迟1秒后后再执行里面的打印 (解释不是很清楚, 总之就是给按钮click事件外加一个防抖)但是现在试了一下, 不管怎么点击都没有进入到方法里面, 不知道是什么原因...是哪里写法不对吗?
回复
1个回答

test
2024-07-02
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button>按钮</button>
<script src="http://localhost:8000/node_modules/mdb/js/jquery.min.js"></script>
<script>
function debounce(func, wait) {
let timeout;
return () => {
clearTimeout(timeout);
timeout = setTimeout(func, wait);
}
}
const debouncedClick = debounce(() => {
console.log(123);
}, 1000);
$('button').click(debouncedClick);
</script>
</body>
</html>
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容