<input type="text"> <script> //防抖:用户触发事件比较频繁,只要最后一次事件的操作 let inp = document.querySelector('input') inp.oninput = debounce(function (){ //这里书写的是业务逻辑 console.log(this.value) },500) //使用闭包来实现防抖的方法,前面是防抖的逻辑与业务的逻辑全都混合到一块了 function debounce(fn,delay){ let t =null; return function() { if (t != null) { clearInterval(t) } t = setTimeout(() => { //这里是业务逻辑 fn.call(this) }, delay) } } </script>
20_利用闭包实现防抖的效果二
最新推荐文章于 2024-07-30 10:56:44 发布