防抖问题
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>防抖</title>
</head>
<body>
输入input: <input type="text" id="input" name="inputE1" value="inputE1"><br>
<script>
function request(e){
console.log("request:"+e);
}
var inputE1=document.getElementById("input");
inputE1.addEventListener("keyup",function(e){
request(e.target.value);
});
</script>
<!-- 防抖函数:当事件触发完成之后再延迟触发,并且只触发一次 如果在触发完成之前再次触发,则会再次刷新延迟;也可以理解为如果事件 不触发即不执行,并且只会执行一次,就是定时器最后走的那一次
也就是例子:假如有个弹簧,你一直往下压只要你不松手就是不会弹出的,弹簧只有在你 松手的那一瞬间才会弹出去;和防抖函数是一样的,只要事件触发没有结束是不会执行的 只有在事件触发后延迟执行一次
-->
<script>
function fun(){
console.log('onresize')
}
function debounce(fn,delay){
var handle;
return function(){
clearTimeout(handle)
handle=setTimeout(function(){
fn()
},delay)
}
}
window.addEventListener('resize',debounce(fun,500))
</script>
</body>
</html>