uni-app icon indicating copy to clipboard operation
uni-app copied to clipboard

vue3中使用事件event.stopPropagation()无法阻止touchmove事件冒泡,但是如果给事件绑定的地方加上.stop事件修饰符却可以阻止冒泡

Open Bulandent opened this issue 1 year ago • 1 comments

以下代码使用 stop 事件修饰符能阻止事件冒泡,使得 swiper 无法滚动。

<!-- 只贴了关键代码 -->
<swiper>
      <swiper-item @touchmove.stop="touchSwiper">1</swiper-item>
...

const touchSwiper = () => {}

但是我想动态的控制 swiper 的滚动,所以不能用 .stop 修饰符,使用了stopPropagation() 如下代码所示,但是这样却没有效果。

<swiper>
      <swiper-item @touchmove="touchSwiper">1</swiper-item>
...

const touchSwiper = e => {
    if (!canSwiper) {
         e.stopPropagation()
    }
}

应该如何做才能动态控制事件冒泡?uni-app 对 stop 修饰符有没有做什么特殊处理?

Bulandent avatar Jun 07 '24 03:06 Bulandent

跟这个问题应该是一样的 https://github.com/dcloudio/uni-app/issues/2191

要不通过v-if 要不就通过css的pointer-events: none;

zzxqd avatar Jun 26 '24 07:06 zzxqd

长时间未回复,关闭 issue,如果还存在这个问题,可以重新打开

GRCmade avatar Mar 17 '25 04:03 GRCmade