微信小程序之按钮短时间内被多次点击问题

做项目的时候碰到这个问题,按钮的功能做好了,但是总会出现按的太快,出现不可预料的问题。

解决方法之一:借助函数节流来实现

1、创建一个工具包(throttle.js),通过封装一个高阶函数,对函数的执行频率进行限制。:

复制代码
function throttle(fn, gapTime) {
  let _lastTime = null;
  return function() {
    let _nowTime = +new Date();
    if (_nowTime - _lastTime > gapTime || !_lastTime) {
      fn.apply(this, arguments);
      _lastTime = _nowTime;
    }
  }
}

module.exports = {
  throttle
}

2、在我们的按钮响应函数(handleClick)中使用:

复制代码
const { throttle } = require('../../utils/throttle.js');

Page({
  handleClick: throttle(function() {
    // 处理点击逻辑
  }, 2000) // 2秒内只执行一次
});

3、完工,去试试效果吧!

相关推荐
码云社区3 小时前
JAVA二手车交易二手车市场系统源码支持微信小程序+微信公众号+H5+APP
java·开发语言·微信小程序·二手交易·闲置回收
土土哥V_araolin7 小时前
多语言推三返一商城系统开发指南
小程序·零售
土土哥V_araolin9 小时前
一条线公排系统小程序开发
小程序·零售
爬坑的小白9 小时前
微信小程序拉起支付
微信小程序·小程序
土土哥V_araolin11 小时前
国械甄选新零售系统开发方案
小程序·个人开发·零售
humors22111 小时前
Deepseek工具:H5+Vue 项目转微信小程序报告生成工具
前端·vue.js·微信小程序·h5·工具·报告
毕设源码-钟学长13 小时前
【开题答辩全过程】以 基于微信小程序的蓝鲸旧物回收系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
Greg_Zhong14 小时前
小程序中单元测试对比表单测试,及单元测试、表单测试、组件测试的底层实现原理
小程序·单元测试
sheji341614 小时前
【开题答辩全过程】以 基于微信小程序的考研服务平台为例,包含答辩的问题和答案
微信小程序·小程序
2501_9159184115 小时前
WebKit 抓包,WKWebView 请求的完整数据获取方法
android·前端·ios·小程序·uni-app·iphone·webkit