在v-for循环里面绑定事件阻止冒泡不生效怎么办?

遇到一个场景,点如下小点显示点赞评论的弹窗,点击其他空白报复关闭弹窗,我这边做的处理是在这条数据的最外边加一个事件关闭弹窗,然后用阻止冒泡实现点击两个点是控制弹窗,点击最外边部分时关闭弹窗。由于我这边的数据是用v-for循环渲染出来的,导致阻止冒泡没生效,如果你想要阻止事件冒泡,需要确保绑定事件的元素是直接被点击的元素,而不是包裹它的父元素。

在v-for遍历出来的数据

 非v-for循环阻止冒泡,用以下写法就会成功

 

如果实在v-for里面,无法直接通过 @click.stop 来阻止事件冒泡。

解决这个问题的一种方法是使用一个方法来处理点击事件,并在方法中手动调用 event.stopPropagation()

代码如下:

 js部分,加上event.stopPropagation即可成功

 

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圆周率呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值