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 相关文章推荐
JavaScript获取XML数据附示例截图
Mar 05 Javascript
jQuery切换所有复选框选中状态的方法
Jul 02 Javascript
js实时获取并显示当前时间的方法
Jul 31 Javascript
JQuery实现DIV其他动画效果的简单实例
Sep 18 Javascript
Vue 单文件中的数据传递示例
Mar 21 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
Vue如何实现监听组件原生事件
Jul 03 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
微信小程序抽奖组件的使用步骤
Jan 11 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下实现伪 url 的超简单方法[转]
2007/09/24 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
PHP加密解密类实例分析
2015/04/20 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
Python入门篇之面向对象
2014/10/20 Python
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
小学运动会表扬稿
2014/01/19 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
团日活动总结书格式
2014/05/08 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
爱护公共设施演讲稿
2014/09/13 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python