小程序 onPageScroll 不能触发
发表时间:2021-2-3
发布人:葵宇科技
浏览次数:244
前言
今天在小程序上用onPageScroll
写的滚动监听,突然被反馈失效了,顿时感觉心头一紧,好好的功能怎么说不管用就不管用了呢?
原因
<page>
<view class="body">
<view class="view">{{desc}}</view>
</view>
</page>
复制代码
page
元素和class
为.body
的view
元素切记不可同时设置heigit: 100%;
,否则,不论class
为.view
的元素高度超过窗口高度有多明显,onPageScroll
都不会触发。
page {
overflow: hidden;
}
.body {
height: 100%; // 或 100vh;
}
复制代码
原来,小伙伴为了防止滚动穿透,在page
上加了个overflow: hidden;
,在.body
上加了个height: 100%;
,导致onPageScroll
不会触发。
解决
page
元素和class
为.body
的view
元素,至少有一个设置height:auto;
,否则就会导致onPageScroll
不会触发。问题是解决了,but,有小伙伴知道原理是什么吗?