layer 弹框防重复点击

问题:弹框确定按钮(发送ajax)防重复点击
解决思路:
1、获取弹框的返回值,根据返回值发送ajax。(推荐一般的按钮点击事件这么处理)
2、

加个锁,var lock = false;
发送请求时,if(!lock){lock = true;//发送请求};
layer.confirm不行。 因为:我上面也说过了,她是非阻塞的。

参考:https://segmentfault.com/q/1010000010542366
最后选择第二种,原因:
你可以想象一下她的执行过程和js原生的confirm有什么不同?
不同点:
原生js的confirm ,他弹出这个框之后,其他的代码会等这个框点击确定或取消才会执行下去。
layer.confirm : 她弹出框之后,代码还是照执行下去,点确定之后,才执行回调(callback)里面的代码。

        var bool = false;  //加个锁
        if(operatorDates<=getFormatDateNum(getFormatDateYMD())){
            layer.confirm(msg, {
                btn : [ '确定', '取消' ]
            }, function() {
                if(!bool){
                    bool = true;//锁住
                    console.log("bool:::" + bool);

你可能感兴趣的:(前端(插件))