vue防短時(shí)間內(nèi) 多次點(diǎn)擊的解決辦法(vue防止多次點(diǎn)擊)
介紹兩種vue項(xiàng)目中防止用戶在一定時(shí)間內(nèi)頻繁點(diǎn)擊按鈕觸發(fā)事件的方法
第一種方法:在規(guī)定時(shí)間內(nèi)將按鈕禁用的方法
1.主要思想就是禁止用戶在一定的時(shí)間多次點(diǎn)擊,在一定時(shí)間內(nèi)將按鈕禁用,用定時(shí)器實(shí)現(xiàn),一定時(shí)間之后用戶可再次點(diǎn)擊
第二種方法:用指令的方式實(shí)現(xiàn),全局注冊(cè),方便
1. 新建js文件(因?yàn)槭侨挚捎玫?,文件可以叫preventRepeatClick.js,我這里是叫index.js)
// 文件路徑 src/views/pdf/index.jsexport default { install (Vue) { // 防止重復(fù)點(diǎn)擊 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) } }) } }) }}
1. 在main.js中引入上面的js文件
2. 在觸發(fā)點(diǎn)擊事件的按鈕上直接用指令即可
3. 五秒之后 按鈕下面的事件才可再次觸發(fā)
上面就是防止用戶在一定時(shí)間內(nèi)重復(fù)頻繁地觸發(fā)事件的兩種方法~
原文章路徑:http://www.jsphp.net/vue/show-25-571-1.html