微信小程序,uni-app阻止滚动事件或悬浮按钮拖动事件穿透(事件穿透)

微信小程序,uni-app阻止滚动事件或悬浮按钮拖动事件穿透(事件穿透)

阻止滚动事件穿透的应用场景

**【场景一】**在开发中遇到这样一个需求,在页面中添加一个仿苹果的拖动悬浮按钮,但是在长页面中,当拖动悬浮按钮时,长页面也会随之滚动。因此需要组织悬浮按钮上的touchmove事件穿透。
**【场景二】**有时候我们需要在页面中弹出一个弹窗,在弹窗弹出后需要禁止原页面继续滚动。

阻止滚动事件穿透的方法

【方法一】 在顶层元素中加上属性catchtouchmove;见下面代码

<view  catchtouchmove>   这里是我的悬浮窗 </view>

但是这种方法会导致小程序后台报错误提示:does not have a method “true” to handle event “touchmove”.
如果是通过uni-app编译成APP,则app端会报错误提示:app警告:
Do not have false handler in current page: pages/tabbar/tab1/tab1. Please make sure that false handler has been defined in pages/tabbar/tab1/tab1, or pages/tabbar/tab1/tab1 has been added into pages.json
【方法二】 在顶层元素中加上@touchmove.stop.prevent = "doNothing"见下面代码

<view @touchmove.stop.prevent = "doNothing" > 这里是我的悬浮窗  </view>    

doNothing:function(){},              //methods

使用方法二能有效阻止滚动事件穿透,且微信小程序不报错(APP端未测试)。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mingyong.g

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

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

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

打赏作者

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

抵扣说明:

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

余额充值