最近在做小程序,由于小程序提供的弹窗样式有限,我们通常会自定义弹窗组件(我都是在弹窗蒙层上加了catchtouchmove="true",保证最基本的穿透问题但是解决不了弹窗内容区域需要滚动的情况),那么就会导致页面穿透问题,具体表现有手指上下滑动弹窗部分,底部页面也同时滑动、如果配置了onPullDownRefresh页面刷新则页面刷新也会触发,我的解决过程如下:

1.最简单的想法:

最开始我想到的是弹窗后动态设置最外层的overflow:hidden,这个办法会引起页面滚回到顶部,不会记住滚动位置,如果弹窗内容也是带滚动的也同样会触发页面刷新的问题。

2.一个很笨效果又不好的办法:

由于小程序提供的页面刷新不能动态设置,所以我单独写了一个动态刷新的办法,页面主体内容区域用scroll-view包裹,暂且能达到,不触发原生的onPullDownRefresh事件,但是我发现在ios和安卓机上显示的情况不一致呀,安卓机尚且可以,ios上页面依然可以狂妄的滚动,于是试了一下在外层加overflow:hidden,并没有什么用,第二个办法放弃。

3.自认为完美的解决办法:

1)自定义的弹窗上的滚动区域有原来的view块变成scroll-view块;

2)整个弹窗都设置了catchtouchmove="true"(发现scroll-view部分还能用,nice);

3)页面主体把原先的自定义刷新事件、scroll-view包裹都去掉了,就是清清爽爽的view和原生小程序刷新;

这时滚动弹窗scroll-view部分还能正常滚动,且底部页面也都不受影响,惊奇的发现以上问题都解决了,而且比第二部减少了很多代码,测试安卓和ios都可以。

开始喜欢并尊敬scroll-view这个组件啦~

微信小程序弹窗滚动导致页面穿透问题的解决办法相关推荐

  1. 微信小程序弹窗滚动穿透问题

    解决点击穿透 在原生中使用el.addEventListener("touchstart", () => { console.log("ok"); }, ...

  2. 微信小程序input弹出键盘挡住文字的解决办法

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 解决思路:阻止键盘弹起时,自动上推页面.输入框获取焦点的时候让页面绝对定位,相对底部 100 像素.失去焦点的 ...

  3. 微信小程序image图无法加载出来的解决办法(亲测有效)

    在微信小程序中,第一次加载页面时图片(线上图)加载不出来/图片灰色背景显示,这个时候该如何解决这个问题呢?请带着问题查看这篇博客,希望对您有所帮助(点赞skr) 看官方文档? 自行解决? 写在前面(初 ...

  4. 微信小程序分享朋友圈的实现思路与解决办法

    转自:https://www.cnblogs.com/till-the-end/p/8470557.html 简介 截止我写这篇文章的时候,小程序应该是还没有能够直接分享到朋友圈的api,转发给朋友和 ...

  5. 微信小程序中图片高度被压扁的解决办法

    微信小程序开发中使用image标签展示的长图因为太长,就会被压扁变形,让人看起来很难看,那如何才能让图片的高度自适应呢?使用css的height:auto也没办法实现. 翻看了小程序社区的问答,发现了 ...

  6. 微信小程序:调取数字键盘,没有小数点的解决办法

    通常来说:input框有type这个属性,我们通常使用text.number .checkbox等这些常用的type值来限制输入框的输入. 在微信小程序中,当我们的输入框的type值为number的时 ...

  7. 微信小程序登录获取不到头像和昵称解决办法!

    微信小程序登录获取不到头像和昵称主要原因是:小程序wx.getUserProfile接口被收回! 大家可以按照文档操作↓ PS: 针对小程序wx.getUserProfile接口将被收回后做出的授权调 ...

  8. 微信小程序画布(canvas)生成图片模糊的解决办法

    我们在用微信小程序画canvas可能会遇到生成的图片保存后很模糊的问题,根据之前的经验,我总结了两种解决办法,分别从画canvas,和保存的角度解决,各有利弊. 1.画canvas时,都用设计稿的2倍 ...

  9. 解决: 微信小程序 调用云函数数据库一直失败的解决办法

    今天跟着教程做一个新的Demo,死活都不能向云函数数据库添加数据,对照代码找了好久也没发现问题,看了很多帖子都不能解决,直到看到了快被云函数逼疯了这个帖子. 这是一个微信小程序开发的一个BUG,如果你 ...

最新文章

  1. 忘记Rxjava吧,你应该试试Kotlin的协程
  2. 关于input type=“text”文本框的 默认宽度
  3. .NET基础示例系列之二十:对图片的几种简单处理
  4. CountDownLatch 初识
  5. ISO13485 相关
  6. msg: ReferenceError: Can't find variable: urchinTracker
  7. 圆平移后的方程变化_1.1 直角坐标系中的平移变换与伸缩变换
  8. python keras_深度学习:基于Keras的Python实践
  9. wincc服务器系统,什么情况下用wincc服务器与客户端
  10. cmd模式下如何从c盘转换到其他盘
  11. 阅读bulid to win感想
  12. winform公共标签和常用属性
  13. Java的String/byte[]/16进制相互转换
  14. 普中科技51单片机直流电机控制风扇调速
  15. linux文件属性全解,Linux文件属性详细图解
  16. 冰汽朋克侦查机器人_冰汽时代机器人与人力效率对比分析 寒霜朋克机器人与人力哪个效率高...
  17. 新能源车车牌识别c++
  18. 【Dos】常见的Dos攻击
  19. NeuroImage: ADHD青少年右侧额下回皮层fMRI神经反馈的功能连接变化
  20. java 字符 加密_Java 字符串的加密与解密

热门文章

  1. 2018.11.28——DBSCAN用于聚类、异常点检测
  2. pdf中如何编辑文本框
  3. 我与Python的偶遇(第二篇)
  4. imx6q mxc 的 framebuffer 初始化过程
  5. 熵、相对熵、交叉熵等理解
  6. 交叉编译器arm下载链接
  7. okhttp配置缓存策略_Okhttp缓存源码分析以及自定义缓存实现
  8. 重装系统 linux u盘启动不了怎么办,用U盘启动盘重装系统启动时黑屏
  9. Resin 的基本使用
  10. idea 设置java内存_IDEA设置JVM可分配内存大小和其他参数的教程