a_list = segmentedControl.getElementsByTagName('a');
for(var i = 0; i < a_list.length; i++) {
a_list[i].index = i;
a_list[i].addEventListener('tap', function(e) {
list_index = this.index;
var pid = ["391e5fe4-6964-ba01-82f7db13fa96", "008d9b22-3e5b-45ae-b3b0-7838bfa70998", "2938c1c8-508a-8beb-eb1aa2606069", "46cfb23d-f160-b1e6-e2d4a10ec56e", "764b149b-a61b-a66c-86fe38b16959"];
var catapid = pid[list_index];
var detailPage = plus.webview.getWebviewById('pt-xiangqing/pt-xinxixiangqing');
mui.fire(detailPage, 'newsId', {
catapid: catapid
});
});
}
这是父页面的按钮点击事件,每点击一次都会传递一个参数到子页面,并且子页面执行一次下拉刷新操作
mui.plusReady(function() {
//添加newId自定义事件监听
window.addEventListener('newsId', function(event) {
//获得事件参数
catapid = event.detail.catapid;
mui('#pullrefresh').pullRefresh({
down: {
auto: true,//可选,默认false.自动下拉刷新一次
callback: function() {
pulldownRefresh(catapid);
}
},
up: {
auto: false,
contentrefresh: '正在加载...',
contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容
callback: function() {
pullupGetMore(catapid);
}
}
});
});
});
这是子页面的下拉刷新函数。
我现在的问题是如果点击按钮过快,当前一个id的下拉刷新还未执行完时就点击下一个按钮,那么下一个按钮就会显示的上一个按钮上的内容,请问下有什么办法解决吗,谢谢啦!!
1 个回复
chender - 与人为善
点击按钮后设置一个标识,子页面刷新完毕后再将标识改回来;
然后每次点按钮的时候,先判断一下这个标识,如果正在下拉刷新,就忽略该点击事件