当我们在input事件上直接调用debounce
防抖是生效的,但当我们在函数内部调debounce
就会发现我们的抖动失效了,代码如下:
错误写法
$el.on('keyup'), function(){
_.debounce(doYourThing,500); // 防抖不生效
}
正确写法
var doYourThingDebounced = _.debounce(doYourThing, 500);
// 写法1:
$el.on('keyup', ()=>{
// 一些其他逻辑
doYourThingDebounced()
});
// 写法2:
$el.on('keyup', doYourThingDebounced);
// 写法3:
$el.on('keyup', _.debounce(doYourThing, 500));
评论(0)