js重复点击事件处理

2019-05-17  本文已影响0人  喵呜Yuri

common.js

var isclick = true;//防止重复点击事件中的全局变量。

function throttle_fn(fn, t){
    var times = t||800;//没有时间参数的时候默认800
    if(!isclick){
        return false;
    }
    isclick = false;
    setTimeout('isclick = true;',times);
    return fn();
};

用法:

getpostData:function(){
    throttle_fn(()=>{
        ....
    })
}

或者

getpostData:function(){
    throttle_fn(()=>{
        ....
    },1000)
}

【这里注意如果你不用es6箭头函数,而将大段代码放入throttle_fn中时,留意你的this指针指向,以免出错】

getpostData:function(){
    var this_ = this;
    throttle_fn(function(){
        this_.modal = false
        ....
    })
}
上一篇下一篇

猜你喜欢

热点阅读