【问题标题】:Can someone explain why hjk isn't printing everytime I click有人可以解释为什么每次点击时 hjk 都不打印
【发布时间】: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


【解决方案1】:

代码不工作的原因很简单。在 JavaScript 第 33 行中,您引用了一个 ID 为“button”的 DOM 元素。但是,当您查看 HTML 面板时,却找不到它。

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多