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 相关文章推荐
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
ExtJS Store的数据访问与更新问题
Apr 28 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
JS 日期与时间戮相互转化的简单实例
Jun 22 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
Oct 27 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
在element-ui的select下拉框加上滚动加载
Apr 18 Javascript
JS实现多功能计算器
Oct 28 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下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
学习php分页代码实例
2013/10/24 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
js判断手机系统是android还是ios
2017/03/07 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
求职者应聘的自我评价
2013/10/16 职场文书
医院辞职信范文
2014/01/17 职场文书
公益广告标语
2014/06/19 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
销售员岗位职责范本
2015/04/11 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
Python如何配置环境变量详解
2021/05/18 Python
MySql数据库 查询时间序列间隔
2022/05/11 MySQL