3***@qq.com
3***@qq.com
  • 发布:2019-11-26 18:30
  • 更新:2020-07-27 17:01
  • 阅读:4004

【报Bug】stopPropagation()方法无效

分类:uni-app

详细问题描述

需要动态判断是否阻止事件冒泡,不能使用stop修饰符,用e.stopPropagation()无效

重现步骤

touchmove1(e){
console.log(e);
},
touchmove2(e){
e.stopPropagation();
}

2019-11-26 18:30 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 划船没桨全靠浪

是的,我也碰到了。 .stop是可以的,但是自己写e.stopPropagation()就不起作用

DCloud_UNI_GSQ

DCloud_UNI_GSQ

只支持使用修饰符,不支持使用stopPropagation,因为这里的event对象并非浏览器的evnet对象,其本来没有stopPropagation方法,文档中也从未提及支持stopPropagation方法,实现中有stopPropagation方法是为了避免开发者使用引用的第三方代码使用了stopPropagation后报错。

DCloud_UNI_GSQ

DCloud_UNI_GSQ

不能动态判断,逻辑层和视图层是分离的,异步通讯。

  • 3***@qq.com

    微信小程序可以通过 catch:touchmove="{{isStop?'touchMove':''}}"为空时不阻止冒泡,uniapp无法做到;有替代方案吗?

    2020-05-28 19:22

  • DCloud_UNI_GSQ

    回复 3***@qq.com: 比如使用v-if写两个标签

    2020-06-01 15:04

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 那在<move-view>里的拖拽功能,和iOS下的上下滚动和上拉下拉回弹冲突了怎么办?这个不阻止冒泡就没法正常工作了,用v-if写两个标签根本不适用。

    2020-07-20 20:02

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 而且不能用.stop阻止,在不拖拽的时候还需要正常上下滚动的,longPress事件就可以拖拽了。

    2020-07-20 20:03

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 滚动属于默认行为和事件冒泡不同,另外你说的是movable-view组件吗?movable-view是能阻止默认的滚动行为的

    2020-07-22 19:43

  • w***@126.com

    回复 DCloud_UNI_GSQ: 用v-if不会导致性能低下吗?页面中有大量的逻辑和数据

    2021-10-06 08:31

l***@163.com

l***@163.com

v-if 或 插节点

该问题目前已经被锁定, 无法添加新回复