uniapp 点击事件-防重复点击

uniapp 点击事件-防重复点击

1、common文件并创建anti-shake.js文件

javascript 复制代码
// 防止处理多次点击
function noMoreClicks(methods, info) {
    // methods是需要点击后需要执行的函数, info是点击需要传的参数
    let that = this;
    if (that.noClick) {
        // 第一次点击
        that.noClick= false;
        if(info && info !== '') {
            // info是执行函数需要传的参数
            methods(info);
        } else {
            methods();
        }
        setTimeout(()=> {
            that.noClick= true;
        }, 2000)//时间可以自己定义
    } else {
        // 这里是重复点击的判断
		uni.showToast({
			title: '请稍后点击',
			icon: 'error',
			duration: 1000
		})
    }
}
//导出
export default {
    noMoreClicks,//禁止多次点击
}

2、man.js文件中引入

javascript 复制代码
import common from './common/anti-shake.js'
Vue.prototype.$noMoreClicks = common.noMoreClicks;

3、页面上使用

javascript 复制代码
<view class="bottom-btn-box">
    <view class="submit-btn"
     @click="$noMoreClicks(submit)">提交</view>
</view>

<view class="bottom-btn-box">
    <view class="submit-btn"
     @click="$noMoreClicks(submitTwo, item)">提交</view>
</view>
 export default {
	//记得在data中挂载   noClick:true,否则点击会失效
	data() {
	    return {
	        noClick:true,
	    }
	},
	methods:{
	//提交方法
	    submit(){ //不带参数
	        console.log('点击事件---')
	    },
	    submitTwo(item){ //带参数
	        console.log('参数---', item)
		}
	}
}
相关推荐
昔人'1 天前
`list-style-type: decimal-leading-zero;`在有序列表`<ol></ol>` 中将零添加到一位数前面
前端·javascript·html
岁月宁静1 天前
深度定制:在 Vue 3.5 应用中集成流式 AI 写作助手的实践
前端·vue.js·人工智能
2501_915909061 天前
“绑定 HTTPS” 的工程全流程 从证书配置到真机验证与故障排查
网络协议·http·ios·小程序·https·uni-app·iphone
心易行者1 天前
10天!前端用coze,后端用Trae IDE+Claude Code从0开始构建到平台上线
前端
saadiya~1 天前
ECharts 实时数据平滑更新实践(含 WebSocket 模拟)
前端·javascript·echarts
fruge1 天前
前端三驾马车(HTML/CSS/JS)核心概念深度解析
前端·css·html
百锦再1 天前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
烛阴1 天前
Lua 模块的完整入门指南
前端·lua
2501_915918411 天前
iOS 混淆实战 多工具组合完成 IPA 混淆、加固与工程化落地(iOS混淆|IPA加固|无源码混淆|Ipa Guard|Swift Shield)
android·ios·小程序·https·uni-app·iphone·webview
浪里行舟1 天前
国产OCR双雄对决?PaddleOCR-VL与DeepSeek-OCR全面解析
前端·后端