Vue防止按钮连续点击

在main.js 创建全局指令

Vue.directive('throttle', { 
    inserted(el, binding) { 
        el.addEventListener('click', () => { 
            el.style.pointerEvents = 'none'; 
            if (!el.disabled) { 
                setTimeout(() => { 
                    el.style.pointerEvents = 'auto'; 
                }, binding.value || 2000); 
            } 
        }); 
    } 
});

在 vue 页面这样用 // 用户若不设置防抖时间,则默认2s v-throttle

搜索

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