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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
新手常遇到的一些jquery问题整理
Aug 16 Javascript
jQuery EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
Jul 27 Javascript
浅谈jquery中next与siblings的区别
Oct 27 Javascript
Bootstrap datepicker日期选择器插件使用详解
Jul 26 Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
JS如何寻找数组中心索引过程解析
Jun 01 Javascript
vue-quill-editor的使用及个性化定制操作
Aug 04 Javascript
vue 数据操作相关总结
Dec 17 Vue.js
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
星际玩家的三大定律
2020/03/04 星际争霸
php中的curl_multi系列函数使用例子
2014/07/29 PHP
JavaScript 常用函数
2009/12/30 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
vue 通过下拉框组件学习vue中的父子通讯
2017/12/19 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
Python实现视频下载功能
2017/03/14 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python requests设置代理的方法步骤
2020/02/23 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
红领巾心向党广播稿
2014/01/19 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
社区灵活就业证明
2014/11/03 职场文书
平遥古城导游词
2015/02/03 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL