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.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
Nov 14 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
js实现iframe跨页面调用函数的方法
Dec 13 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
jquery中用函数来设置css样式
Dec 22 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
jQuery树插件zTree使用方法详解
May 02 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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
递归列出所有文件和目录
2006/10/09 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
jquery 插件学习(二)
2012/08/06 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
numpy数组广播的机制
2019/07/12 Python
Django用户认证系统 User对象解析
2019/08/02 Python
Python实现某论坛自动签到功能
2019/08/20 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
HTTP状态码详解
2021/03/18 杂记
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
英国鞋网:Rubber Sole
2020/03/03 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
司机检讨书
2014/02/13 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
教师年度考核评语
2014/04/28 职场文书
项目建议书范文
2014/05/12 职场文书
股东合作协议书
2014/09/12 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
社区节水倡议书
2015/04/29 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
告知书格式
2015/07/01 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers