百度小程序中如何监听页面滚动事件? Designer°风珍 提问于 2026-03-05 18:08:20 阅读 67 移动 我在百度小程序里想监听页面的滚动,试了 onScroll 但根本没触发,文档里也没找到明确说明。是不是得用别的方法? 我页面结构是用 scroll-view 包裹内容,加了 bindscroll 事件,但有时候滑动很快就不触发,感觉不太稳定。 <scroll-view scroll-y="true" bindscroll="onScroll"> <view>很多内容...</view> </scroll-view> 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 IT人玉萱 Lv1 百度小程序的滚动监听确实有点坑,我碰到过同样的问题。scroll-view的bindscroll在快速滑动时确实容易丢事件,这是小程序本身的性能限制。 给你两个实测可用的方案: 1. 换用page本身的onPageScroll事件(前提是不用scroll-view): Page({ onPageScroll(e) { console.log('滚动位置', e.scrollTop) } }) 2. 如果必须用scroll-view,加个防抖: let timer = null Page({ onScroll(e) { clearTimeout(timer) timer = setTimeout(() => { console.log('稳定后的位置', e.detail.scrollTop) }, 200) } }) 第二个方案虽然不完美但能凑合用,200ms的延迟在大部分场景下还算能接受。另外检查下scroll-view的高度是不是设成了100vh,这个也经常导致滚动事件出问题。 回复 点赞 2026-03-05 18:13 加载更多 相关推荐 1 回答 21 浏览 Kbone 中如何正确监听页面滚动事件? 我在用 Kbone 开发微信小程序,想监听页面的滚动位置,但 onScroll 事件好像不生效。 试过在页面根元素加 bindscroll,也试过用 window.addEventListener('... ❤俊贺 框架 2026-02-28 17:55:20 1 回答 10 浏览 Taro中如何正确监听页面滚动事件? 我在Taro开发微信小程序时,想监听页面的滚动位置,但用onPageScroll好像没生效,控制台也没报错。 页面结构是普通ScrollView包裹内容,是不是得用别的方法?试过在componentD... 子源~ 移动 2026-03-01 09:55:19 1 回答 35 浏览 uni-app中React组件如何正确监听页面滚动事件? 在用uni-app开发时遇到了滚动监听问题。我在页面里写了一个React组件,想通过uni的onPageScroll方法获取滚动位置,但滚动时数值没有变化,甚至出现重复回调。 尝试过这样写代码: co... 极客子诺 移动 2026-02-18 08:58:42 1 回答 19 浏览 nvue中如何监听页面滚动到底部事件? 我在用uni-app开发一个nvue页面,想在用户滚动到底部时加载更多数据,但试了@scroll事件好像拿不到正确的滚动位置,文档里也没找到类似onReachBottom的API,这该怎么处理? 目前... 静静的笔记 移动 2026-03-01 23:59:20 1 回答 72 浏览 uni-app小程序端如何在页面滚动时动态改变导航栏背景色? 我在开发uni-app小程序时遇到个问题,想在页面滚动时根据位置动态改变导航栏背景色。之前用scroll-view的scroll事件测过,但事件根本不触发。后来试了原生APIuni.setNaviga... 艳玲🍀 移动 2026-02-15 06:55:31 2 回答 15 浏览 Hippy 中如何正确监听页面返回事件? 我在 Hippy 项目里想监听页面返回(比如 Android 物理返回键),但文档里没找到明确的 API。试过用 BackHandler,但好像不是 Hippy 的标准模块,一直报错说 undefin... 爱学习的云娴 框架 2026-02-27 19:12:21 2 回答 31 浏览 移动端滚动卡顿时,怎么用Passive监听优化事件? 在优化移动端页面时,我给触摸事件加了{ passive: true },滚动确实流畅了,但有个问题:touchMove里调用event.preventDefault()阻止滚动时完全没反应了,这是为什... 毓金酱~ 优化 2026-02-08 23:38:27 2 回答 40 浏览 为什么监听页面自定义事件埋点在某些页面没触发? 最近在给项目加监控埋点,监听页面自定义事件page:view时,发现登录页能正常上报,但商品详情页完全没反应。 我用同样的代码监听了window.addEventListener('page:view... 技术亚楠 前端 2026-02-08 18:37:21 1 回答 3 浏览 TouchMove 事件中 preventDefault 无效是怎么回事? 我在做一个移动端的滑动删除功能,监听了 touchmove 事件,想阻止页面滚动,但调用 e.preventDefault() 完全没用,页面还是跟着手指上下滚。我试过在 touchstart 里也加... Newb.子尧 交互 2026-03-04 20:55:17 1 回答 13 浏览 Kraken 中如何正确监听页面返回事件? 我在用 Kraken 开发一个移动端页面,想在用户点击返回按钮时弹出确认提示,但试了 history.back() 和 popstate 都没生效。官方文档里也没找到相关说明,是不是 Kraken 有... 欧阳莉娟 框架 2026-03-02 17:49:19
给你两个实测可用的方案:
1. 换用page本身的onPageScroll事件(前提是不用scroll-view):
2. 如果必须用scroll-view,加个防抖:
第二个方案虽然不完美但能凑合用,200ms的延迟在大部分场景下还算能接受。另外检查下scroll-view的高度是不是设成了100vh,这个也经常导致滚动事件出问题。