vue2项目全局监听click点击事件,将其防抖处理

比如控制在3s内只执行一次:

那么在main.js里放入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 防抖处理 - 先执行
const on = Vue.prototype.$on;
Vue.prototype.$on = function (event, fn) {
// console.log(event,fn);
let newFN = fn;
// 全局所有点击事件
if (event === 'click') {
let timer;
let flag = true;
newFN = function () {
if (flag) {
fn.apply(this, arguments)
flag = false
}
clearTimeout(timer)
timer = setTimeout(function () {
flag = true
}, 800)
}
}
on.call(this, event, newFN)
}
}

全局所有click事件已经被自动监听到,别的地方什么都不用加


vue2项目全局监听click点击事件,将其防抖处理
https://github.com/chergn/chergn.github.io/00f3ccfeb8b2/
作者
全易
发布于
2024年3月28日
许可协议