zoukankan      html  css  js  c++  java
  • vue防止按钮在短时间内被多次点击的方法

    vue组件

      (function(){
            let openDelay=false;
            Vue.directive('intervalclick', function(el,binding){
                el.onclick=function(e){
                    if(openDelay)return;
                    openDelay=!openDelay;
                    if (!binding.value) {
                        alert("未传入Value数据!");
                        return;
                    }
                    let func = binding.value['func'];
                    let time=binding.value['time'];
                    if(typeof time !=='number'){
                        alert("传入等待时间错误");
                        return;
                    }
                    let args=[];
                    for (const key in binding.value) {
                        if (binding.value.hasOwnProperty(key)) {
                            if(key==='func'||key==='time')continue;
                            args.push(binding.value[key])
                        }
                    }
                    setTimeout(() => {
                        openDelay=!openDelay; 
                    }, time);
                    func(...args);
                }
            })
        })()
    

    使用

     <button v-intervalclick='{func:执行方法,time:间隔时间(毫秒数),...执行方法所需要的参数}'>点击</button>
    
  • 相关阅读:
    tuple-1
    禅语-1
    综述的写作技巧-1
    皆大欢喜组合
    类和对象-3
    双棍练习
    CodeBlocks开发环境使用-1
    类和对象-2
    类和对象-1
    13-归并排序-分治策略应用于排序
  • 原文地址:https://www.cnblogs.com/yan7/p/9811126.html
Copyright © 2011-2022 走看看