js ---- 函数防抖

2019-09-11 14:54:18 浏览数 (1)

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <input type="" name="">
</body>
<script type="text/javascript">
// 当我们不想 input 每次都触发。  而是  当判断input 在最后一次 的时候在触发;    
    var inp = document.getElementsByTagName('input')[0];
    inp.addEventListener('input',inp1(500));

    function inp1(delay){
        var time = null;
        return function b(){
            var that = this;
            clearTimeout(time);
            time = setTimeout(function(){
                console.log(112233);
            },delay)
        }
    }

1.函数防抖的要点,也是需要一个setTimeout来辅助实现。延迟执行需要跑的代码。  2.如果方法多次触发,则把上次记录的延迟执行代码用clearTimeout清掉,重新开始。  3.如果计时完毕,没有方法进来访问触发,则执行代码

0 人点赞