來源:https://www.jianshu.com/p/fa283869df95vue
介紹兩種vue項目中防止用戶在必定時間內頻繁點擊按鈕觸發事件的方法3d
第一種方法:在規定時間內將按鈕禁用的方法
主要思想就是禁止用戶在必定的時間屢次點擊,在必定時間內將按鈕禁用,用定時器實現,必定時間以後用戶可再次點擊code
第二種方法:用指令的方式實現,全局註冊,方便blog
- 新建js文件(由於是全局可用的,文件能夠叫preventRepeatClick.js,我這裏是叫index.js)
代碼以下:事件
export default { install (Vue) { // 防止重複點擊 Vue.directive('preventReClick', { inserted (el, binding) { console.log("binding-7",binding) el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false },binding.value || 1000) } }) } }) } }
- 在main.js中引入上面的js文件
- 在觸發點擊事件的按鈕上直接用指令便可
- 五秒以後 按鈕下面的事件纔可再次觸發