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比较文档位置
Apr 08 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
jquery常用方法及使用示例汇总
Nov 08 Javascript
AngularJS内置指令
Feb 04 Javascript
JS+CSS实现下拉列表框美化效果(3款)
Aug 15 Javascript
10个JavaScript中易犯小错误
Feb 14 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
详解JavaScript自定义函数
Jul 29 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
python中正则表达式的使用方法
2018/02/25 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
诚信考试倡议书
2014/04/15 职场文书
《菜园里》教学反思
2014/04/17 职场文书
红高粱观后感
2015/06/10 职场文书