Vue的click事件防抖和节流处理详解


Posted in Javascript onNovember 13, 2019

函数防抖

定义:多次触发事件后,事件处理函数只执行一次,并且是在触发操作结束时执行。

在vue中对click添加防抖处理

const on = Vue.prototype.$on
// 防抖处理
Vue.prototype.$on = function (event, func) {
  let timer
  let newFunc = func
  if (event === 'click') {
    newFunc = function () {
      clearTimeout(timer)
      timer = setTimeout(function () {
        func.apply(this, arguments)
      }, 500)
    }
  }
  on.call(this, event, newFunc)
}

函数节流

定义:触发函数事件后,短时间间隔内无法连续调用,只有上一次函数执行后,过了规定的时间间隔,才能进行下一次的函数调用。

在vue中对click添加节流处理

const on = Vue.prototype.$on
 
// 节流
Vue.prototype.$on = function (event, func) {
  let previous = 0
  let newFunc = func
  if (event === 'click') {
    newFunc = function () {
      const now = new Date().getTime()
      if (previous + 1000 <= now) {
        func.apply(this, arguments)
        previous = now
      }
    }
  }
  on.call(this, event, newFunc)
}

以上这篇Vue的click事件防抖和节流处理详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 深拷贝函数
Dec 04 Javascript
javascript 多级checkbox选择效果
Aug 20 Javascript
javascript获取下拉列表框当中的文本值示例代码
Jul 31 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
Three.js学习之正交投影照相机
Aug 01 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
Bootstrap CSS使用方法
Dec 23 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
vue初尝试--项目结构(推荐)
Jan 30 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
Dec 13 Javascript
JS检测浏览器开发者工具是否打开的方法详解
Oct 02 Javascript
vue表单数据交互提交演示教程
Nov 13 #Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 #Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 #Javascript
基于vue-cli3和element实现登陆页面
Nov 13 #Javascript
vue data引入本地图片的两种方式小结
Nov 13 #Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 #Javascript
解决vue v-for src 图片路径问题 404
Nov 12 #Javascript
You might like
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
jQuery事件对象总结
2016/10/17 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
JS验证字符串功能
2017/02/22 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Django的分页器实例(paginator)
2017/12/01 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
对祖国的寄语大全
2014/04/11 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
Java8 CompletableFuture 异步回调
2022/04/28 Java/Android
Flink 侧流输出源码示例解析
2022/09/23 Servers