防抖是什么?意义何在?
1.如果有一天,测试人员给你提了一个bug,说 这个提交(确认,编辑,等等的表单提交操作统称)按钮,快速点击时,提交了多次,只有第一次成功,其他失败了
2. 这就要用防抖了,白话就是,能不能短时间内点击只提交一次呢,答案当然是有的
3.防抖
实现封装: function noBounce(fun,time){ // 防抖封装, fun目标提交函数,time时间段生效时间
var timer = null; //定义时间
return function(){
var argArr = arguments;
if(timer){
clearTimeout(timer);
timer=null;
}
timer = setTimeout(()=>{
fun.apply(this,argArr)
},time)
}}
目标函数: function submit(){
console.log('我提交了')//你的代码
}
使用: noBounce(submit,1000) // 1秒内仅仅触发一次提交按钮,1000随你改写
以上就是防抖采用js,如果使用vue,react等,记得 调用时this.目标函数哦

浙公网安备 33010602011771号