最近写微信小程序项目自定义一个弹窗,没点击之前页面有滚动条,点击弹窗弹出铺满整屏幕还是能滚动页面,想让弹窗弹出页面不可以滚动,该怎么解决?

刚开始以为定位的原因,导致弹窗层优先级不高,所以把z-index设更大的值,还是解决不了我的问题。解决这问题试试两种方法:

第一种:

1、.wxml 文件 最外层用<scroll-view>包裹,给scroll-view添加scroll-y属性:<scroll-view scroll-y="{ {isScroll}}">
2、.wxss Pageoverflow-y属性值为hidden、scroll-viewheight属性值为100%
3、.js点击事件弹出弹窗并更改isScroll的值为false,关闭弹窗的点击事件把isScroll的值更改为true

这方法解决不了我的问题,不管弹窗有没有出来,页面都滚动不了了

第二种:

直接在弹窗最外层标签添加:capture-catch:touchmove="preventdefault",可以实现弹窗弹出页面又不能滚动

  <view class="comment-del-toast"  wx:if="{ {isShow}}" capture-catch:touchmove="preventdefault">

    <view class="comment-del-toast-main">

      <view class="comment-del-toast-title">确定删除该条评价内容</view>

      <view class="comment-del-toast-btn"><text class="cancel" bindtap="cancle">取消</text><text class="sure" bindtap="sure">确定</text></view>

    </view>

  </view>

猜你喜欢

转载自blog.csdn.net/weixin_39418338/article/details/118149811