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 相关文章推荐
jquery()函数的三种语法介绍
Oct 09 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
将中国标准时间转换成标准格式的代码
Mar 20 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
Aug 26 Javascript
Javascript中字符串相关常用的使用方法总结
Mar 13 Javascript
Angular2实现自定义双向绑定属性
Mar 22 Javascript
JS创建Tag标签的方法详解
Jun 09 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
详解Eslint 配置及规则说明
Sep 10 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
vue实现数据控制视图的原理解析
Jan 07 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嵌套输出缓冲代码实例
2015/05/12 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
Angular2库初探
2017/03/01 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
python中pdb模块实例用法
2021/01/15 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
庆七一活动总结
2014/08/27 职场文书
庆祝国庆节标语
2014/10/09 职场文书
2015年度物流工作总结
2015/04/30 职场文书
债务纠纷代理词
2015/05/25 职场文书
2016年寒假见闻
2015/10/10 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
导游词之襄阳古城
2019/09/27 职场文书