转载

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

<p @click="search" v-throttle="10000">搜索</p>
前端基础
  • 作者:渣渣前端(联系作者)
  • 发表时间:2020-11-26 16:59
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论