wd-button组件阻止事件冒泡的

我看到你已经使用了 @click.stop,但可能还是有事件冒泡的问题。这通常是因为 wd-button 组件的事件处理机制。让我来修复这个问题:

现在修改 handlePayImmediately 函数,添加事件处理:

完成!我已经修复了事件冒泡的问题。现在点击立即支付按钮时不会再触发 handleOrderDetail 方法。

修复方案:

1. 容器层面阻止冒泡

html 复制代码
<view v-if="item.orderStatus === '0'" class="pay-btn-container gap" @click.stop>

pay-btn-container 上添加 @click.stop

2. 按钮层面阻止冒泡

html 复制代码
@click.stop="handlePayImmediately(item, $event)"

传递事件对象 $event 给处理函数

3. 函数内手动阻止冒泡

javascript 复制代码
const handlePayImmediately = (item, event) => {
  // 手动阻止事件冒泡
  if (event) {
    event.stopPropagation();
    event.preventDefault();
  }
  // ... 其他逻辑
}

为什么需要多重保护:

  1. wd-button 组件特性:某些 UI 组件库的按钮可能有自己的事件处理机制
  2. 事件传播机制:确保在不同层级都阻止事件向上传播
  3. 兼容性考虑:不同平台可能对事件处理有差异

现在点击"立即支付"按钮时:

  • ✅ 只会执行 handlePayImmediately
  • ❌ 不会触发 handleOrderDetail
  • ✅ 事件完全被拦截,不会冒泡到父元素

这样就完美解决了事件冒泡的问题!

相关推荐
console.log('npc')23 分钟前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
爱学堂IT分享2 小时前
Cesium可视化系统实战课程-Cesium教程学习
前端
糖墨夕2 小时前
理解大语言模型:Agent 的“大脑”
前端·agent
Rain的Java大神之路2 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
cpolar技术支持2 小时前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
计算机魔术师4 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端
xy34534 小时前
Axure9.0中继器遮罩实现方法
前端·ui·html·axure·原型·产品设计
风骏时光牛马4 小时前
智能任务自动化协同AI工作流
前端
IT_陈寒4 小时前
Python的多线程居然是个假把式?搞清GIL让我少熬三天夜
前端·人工智能·后端
宿6744 小时前
vue3-config
前端·javascript·vue.js