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学习笔记7 原型链的原理
Jan 11 Javascript
IFrame跨域高度自适应实现代码
Aug 16 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
jquery中通过父级查找进行定位示例
Jun 28 Javascript
JavaScript学习笔记之JS对象
Jan 22 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
Jun 05 Javascript
javaScript语法总结
Nov 25 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
Jul 24 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
Aug 20 Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 Javascript
详解JavaScript中的链式调用
Nov 27 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数据饼图效果实现代码
2011/11/23 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
javascript history对象详解
2017/02/09 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
python Celery定时任务的示例
2018/03/13 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
岗位职责的构建方法
2014/02/01 职场文书
认错检讨书
2014/10/02 职场文书
实习协议书
2015/01/27 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
python使用glob检索文件的操作
2021/05/20 Python
Python中Selenium对Cookie的操作方法
2021/07/09 Python
python 离散点图画法的实现
2022/04/01 Python