在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ js綁定事件如何優(yōu)雅的防止多次執(zhí)行

js綁定事件如何優(yōu)雅的防止多次執(zhí)行

綁定事件中有異步操作,我一般都是設(shè)個flag,if(flag)return;然后異步完在設(shè)置一下,,但是一個頁面的操作事件多了的話,我這flag就有點多,感覺很煩..不知道大家是怎么處理的

回答
編輯回答
墨小白

封裝一下,你也可以改一改

function flag(fn) {
    var bool = true
    function rest() {
        bool = true;
    }
    return function () {
        if (bool) {
            bool = false;
            arguments = Array.prototype.slice.call(arguments);
            arguments.push(rest)
            fn.apply(this, arguments);
        }
    }
}

document.getElementById("btn").onclick = flag(function (e, rest) {
    console.log(this)
    setTimeout(function () {
        console.log(e)
        rest()//重置
    }, 1000)
})
2017年7月20日 08:04