码译 · VibeCode
点按钮没反应(网络慢),用户连点好几次,结果重复提交、重复下单
防重复点击
Debounce Button Click
反模式请求没返回时按钮还能点,用户连点导致重复提交或重复下单
正解点击后立即禁用或加锁,请求完成/失败才恢复,或做节流
在线对比体验 · 同一个需求,大白话 vs 平台提示词,效果立分高下 · 右边可点击体验
大白话直接生成
重复提交
提交中…
提交中…
提交中…
平台提示词生成
防重复
提交中…(已禁用)
点一下试试
差在哪?大白话没讲「请求没返回时按钮还能点,用户连点导致重复提交或重复下单」,AI 只能自己猜;平台提示词写明「点击后立即禁用或加锁,请求完成/失败才恢复,或做节流」,还带要点与三端注意,一次到位不用返工。
代码示例
错误写法
<button onclick='submit()'>提交</button> /* 可连点 */
正确写法
async function submit(){ if(loading)return; loading=true; await api(); loading=false; }
语义锚点 · 对齐 AI 语义库契约
<div data-vibe="debounce-button-click"> … 组件根元素 … </div><!-- AI 用语义名片 locate 此属性即可定位/修改 -->
在组件根元素挂 data-vibe="debounce-button-click",AI 用语义名片里的 locate([data-vibe='debounce-button-click'])即可定位、修改、组合该组件——与「AI 语义库」tab 的契约一一对应。在 AI 语义库看契约 →
不同平台注意
网页点击即 disabled + 请求锁,防重复提交
App按钮 disabled 态 + 请求锁变量
小程序bindtap 里加锁变量防重复触发
可直接复制的提示词(三端都给你,挑对应平台复制给 Cursor / 通义灵码 / Claude)
网页 Web
你是一位资深前端工程师。我想实现【防重复点击】(专业术语:Debounce Button Click)。

【我想达到的效果】点按钮没反应(网络慢),用户连点好几次,结果重复提交、重复下单。
【请避免的反模式】请求没返回时按钮还能点,用户连点导致重复提交或重复下单。
【正确做法】点击后立即禁用或加锁,请求完成/失败才恢复,或做节流。

【平台】网页 Web(标准 HTML/CSS/JS,单文件零依赖,不引任何 CDN)。
【提示词要点】
- 点击即置 disabled 或加锁,防并发重复
- 失败也要恢复可点,别卡死
- 网络慢时显示 loading 态
- 支付等场景必须幂等兜底

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
手机 App
你是一位资深前端工程师。我想实现【防重复点击】(专业术语:Debounce Button Click)。

【我想达到的效果】点按钮没反应(网络慢),用户连点好几次,结果重复提交、重复下单。
【请避免的反模式】请求没返回时按钮还能点,用户连点导致重复提交或重复下单。
【正确做法】点击后立即禁用或加锁,请求完成/失败才恢复,或做节流。

【平台】手机 App(React Native / Flutter / 原生,给出对应组件与关键代码)。
【提示词要点】
- 点击即置 disabled 或加锁,防并发重复
- 失败也要恢复可点,别卡死
- 网络慢时显示 loading 态
- 支付等场景必须幂等兜底

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。
微信小程序
你是一位资深前端工程师。我想实现【防重复点击】(专业术语:Debounce Button Click)。

【我想达到的效果】点按钮没反应(网络慢),用户连点好几次,结果重复提交、重复下单。
【请避免的反模式】请求没返回时按钮还能点,用户连点导致重复提交或重复下单。
【正确做法】点击后立即禁用或加锁,请求完成/失败才恢复,或做节流。

【平台】微信小程序(WXML/WXSS/JS,注意 rpx 单位与小程序专属约束)。
【提示词要点】
- 点击即置 disabled 或加锁,防并发重复
- 失败也要恢复可点,别卡死
- 网络慢时显示 loading 态
- 支付等场景必须幂等兜底

请输出完整可运行代码(关键处写中文注释),并附 50 字以内使用说明。