【发布时间】:2020-06-20 16:03:52
【问题描述】:
有人可以解释为什么我每次点击时 hgk 都不打印吗?当我每次单击按钮时,它应该运行 debounce 功能并且应该打印“hgk”,但为什么不打印它。 有谁能给我解释清楚吗?
const debounce=(fn,delay)=>{
let timer;
console.log('hgk');
return function(){
console.log('nbm');
clearTimeout(timer);
timer= setTimeout(fn,delay);
}
}
document.getElementById('button').addEventListener('click',debounce(()=>{
console.log('clicked')
},2000));
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
</body>
</html>
https://jsbin.com/bovesapoyu/edit?html,js,console,output)-hjk 不打印 hjk。
【问题讨论】:
-
请在此处创建代码sn-p
-
JS bin const debounce=(fn,delay)=>{ let timer;控制台.log('hgk');返回函数(){ console.log('nbm');清除超时(定时器);计时器= setTimeout(fn,延迟); } } document.getElementById('button').addEventListener('click',debounce(()=>{ console.log('clicked') },2000)); -
欢迎来到 SO,请阅读@AnuragSrivastava 分享的上述链接。并更新您的问题以添加您拥有的代码 sn-p。
标签: javascript html reactjs dom dom-events