import { App } from 'vue';
|
|
export function preventClick(app: App) {
|
app.directive('throttle', {
|
mounted(el: any, binding: any) {
|
el.addEventListener('click', () => {
|
if (!el.disabled) {
|
el.disabled = true;
|
setTimeout(() => {
|
el.disabled = false;
|
}, binding.value || 2000);
|
}
|
});
|
}
|
|
// mounted(el, binding) {
|
// let timer : NodeJS.Timeout | null = null
|
// el.addEventListener('click', () => {
|
// debugger
|
// let firstClick: Boolean = !timer;
|
// if(firstClick){
|
// binding.value
|
// }
|
// if(timer){
|
// clearTimeout(timer)
|
// }
|
// timer = setTimeout(() => {
|
// timer = null
|
// if(!firstClick){
|
// binding.value
|
// }
|
// },3000);
|
// })
|
// }
|
});
|
}
|