节流函数为什么,点击无效,监听窗口大小却有效?

网上抄来的节流函数
两种触发方式一种是window.onresize = throttle(resizehandler, 100, 500);
第二种是<div class="cm-btn sub cp" onclick="resizehandler()">确定</div>
为什么第一种能节流,第二种,却无效

function throttle(method, delay, duration) {
        var timer = null,
            begin = new Date();
        return function() {
            var context = this,
                args = arguments,
                current = new Date();;
            clearTimeout(timer);
            if (current - begin >= duration) {
                method.apply(context, args);
                begin = current;
            } else {
                timer = setTimeout(function() {
                    method.apply(context, args);
                }, delay);
            }
        }
    }

    function resizehandler() {
        console.log(new Date().getTime());
    }
    window.onresize = throttle(resizehandler, 100, 500);
阅读 2k
1 个回答

你第二种并没有使用节流啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题