直奔主題:如果當前頁面含有scroll-view,請注意:scroll-view高度如果設置為屏幕高度時,建議采用在scroll-view里設定bindscrolltoupper和bindscrolltolower方式,因為如果這種情況下仍然使用onPullDownRefresh和onReachBottom方法,會存在監測不到上拉刷新事件的問題,代碼如下:
1 <!--test.wxml--> 2 <view> 3 <scroll-view scroll-y="true"> 4 <view style="background-color:red">1</view> 5 <view style="background-color:blue">2</view> 6 <view style="background-color:green">3</view> 7 </scroll-view> 8 </view>
1 //test.js 2 //獲取應用實例 3 Page 4 ({ 5 data: { 6 }, 7 onPullDownRefresh: function(e) { 8 console.log('使用全局方法滑動到了頁面頂部'); 9 }, 10 onReachBottom: function(e) { 11 console.log('使用全局方法滑動到了頁面底部'); 12 } 13 }
1 /* pages/test/test.wxss */ 2 scroll-view { 3 height: 1334rpx; 4 width: 748rpx; 5 border: solid 1rpx black; 6 } 7 8 scroll-view view { 9 height: 600rpx; 10 width: 750rpx; 11 }
效果如圖所示:
因此,建議在布局時,如果scroll-view組件高度設置為了當前屏幕高度,還是要用scroll-view組件的bindscrolltoupper和bindscrolltolower方式,代碼如下:
1 <!--test.wxml--> 2 <view> 3 <scroll-view scroll-y="true" bindscrolltoupper="DingBu" bindscrolltolower="DiBu"> 4 <view style="background-color:red">1</view> 5 <view style="background-color:blue">2</view> 6 <view style="background-color:green">3</view> 7 </scroll-view> 8 </view>
1 //test.js 2 Page 3 ({ 4 data: { 5 }, 6 DingBu: function(e) { 7 console.log('使用局部方法滑動到了頁面頂部'); 8 }, 9 DiBu: function(e) { 10 console.log('使用局部方法滑動到了頁面底部'); 11 } 12 })
1 /* pages/test/test.wxss */ 2 scroll-view { 3 height: 1334rpx; 4 width: 748rpx; 5 border: solid 1rpx black; 6 } 7 8 scroll-view view { 9 height: 600rpx; 10 width: 750rpx; 11 }
效果如圖所示:
附學習鏈接:http://www.cnblogs.com/simba-lkj/p/6274232.html
附官方說明:
Bug & Tip
tip
: 請勿在scroll-view
中使用textarea
、map
、canvas
、video
組件tip
:scroll-into-view
的優先級高於scroll-top
tip
: 在滾動scroll-view
時會阻止頁面回彈,所以在scroll-view
中滾動,是無法觸發onPullDownRefresh
tip
: 若要使用下拉刷新,請使用頁面的滾動,而不是scroll-view
,這樣也能通過點擊頂部狀態欄回到頁面頂部