保暖大裤衩
保暖大裤衩
  • 发布:2017-08-09 16:56
  • 更新:2018-05-10 18:34
  • 阅读:4480

上拉加载只在初始化的时候加载一次,之后上拉没有执行callback

分类:MUI
mui.init({  
                pullRefresh: {  
                    container: "#refreshContainer", //待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等  
                    up: {  
                        height: 50, //可选.默认50.触发上拉加载拖动距离  
                        auto: true, //可选,默认false.自动上拉加载一次  
                        //contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容  
                        //contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容  
                        contentrefresh: "正在加载...", //可选,正在加载状态时,上拉加载控件上显示的标题内容  
                        contentnomore: '没有更多数据了', //可选,请求完毕若没有更多数据时显示的提醒内容;  
                        /* callback: function() {  
                            var self = this; // 这里的this == mui('#refreshContainer').pullRefresh()  
                            console.log(11111111111);  
                            // 加载更多的内容  
                            loadMore(this);  
                        }  */   //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;  
                        callback: pullRefresh  
                    }  
                }  
            });  

var page = 1;  
            var pageSize = 3;  
            function pullRefresh(){  
                //业务逻辑代码,比如通过ajax从服务器获取新数据;  
                //注意:  
                //1、加载完新数据后,必须执行如下代码,true表示没有更多数据了:  
                //2、若为ajax请求,则需将如下代码放置在处理完ajax响应数据之后  
                console.log("get the option");  

                /* ++page; */  
                setTimeout(function(){  
                    $.ajax({  
                        url: "${path}/live/liveListByPage",  
                        type: "GET",  
                        dataType: "json",  
                        async: false,  
                        data: {page: page, pageSize: pageSize},  
                        success: function(data,msg){  
                            console.log(data);  
                            /* $(".main").html($(".main").html().append(data)); */  
                            var s = $(".main").html() + data;  
                            console.log(s);  
                            $(".main").html(s);  
                            page+=1;  
                            mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);  
                        },  
                        error: function(data,msg){  
                            alert("error");  
                            mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);  
                        }  
                    })  
                },1000)  

                /* mui('#refreshContainer').pullRefresh().endPullupToRefresh(true); */  
            }

只有页面初始化的时候加载了callback的函数,之后上拉没有反应

浏览器控制台会有很多警告日志打印:
mui.js:3964 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080
_drag @ mui.js:3964
_drag @ mui.js:4556
prototype.(anonymous function) @ mui.js:3387
handleEvent @ mui.js:3847
handleEvent @ mui.js:4531
prototype.(anonymous function) @ mui.js:3387
$.trigger @ mui.js:301
handle @ mui.js:1667
(anonymous) @ mui.js:1263
(anonymous) @ mui.js:269
$.each @ mui.js:268
$.doAction @ mui.js:389
detect @ mui.js:1260
handleTouchEvent @ mui.js:1526

2017-08-09 16:56 1 条评论 负责人:无 分享
已邀请:
门神比利亚

门神比利亚

兄dei,遇到相同的问题,求分享

  • 水木杨

    有解决方法吗?

    2018-03-14 14:30

  • 门神比利亚

    参考Hbulid的例子回调成功后加了

    mui('#resultList').pullRefresh().endPullupToRefresh((++pageCount > pageTotal))就可以了,一脸懵逼,pullRefresh重置是一直加了的,endPullupToRefresh是结束不加还不行。

    2018-03-16 10:47

水木杨

水木杨

楼市遇到同样问题!顶你上去

无言名

无言名

你看你是不是换个函数名称

l***@163.com

l***@163.com

endPullupToRefresh(true); 该方法的参数boolean
表示:
是否还有更多数据;若还有更多数据,则传入false; 否则传入true,之后滚动条滚动到底时,将不再显示“上拉显示更多”的提示语,而显示“没有更多数据了”的提示语;

当传true,没有数据了,则不会执行回调函数了

专注写bug

专注写bug - 不积跬步,无以至千里

那是因为你调用了这个mui('#refreshContainer').pullRefresh().endPullupToRefresh(true);

该问题目前已经被锁定, 无法添加新回复