详细问题描述
[内容]
一个常见的查询页面,上方有放在Popover里的一些查询条件,查询条件内容可能超出,
可能存在scroll操作,查询页面本上也支持上拉/下拉刷新数据,当在Popover中上拉/下拉
查看数据时,上拉/下拉的是整个查询页面,而不是Popover里面的数据部分,用官方代码
嵌套了popover 和scroll测试,也是一样的,这种情况只在android调试时出现,在ios和web端
都可以正常使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello MUI</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="../css/mui.min.css">
</head>
<body>
<style type="text/css">
#popover {
height: 100px;
width: 200px;
}
.mui-plus-pullrefresh .mui-scroll-wrapper{
position: absolute;
top: 0px;
bottom: 0px;
width:100%;
}
.mui-scroll-wrapper{
height: 200px;
}
</style>
<div id="popover" class="mui-popover mui-active">
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<ul class="mui-table-view">
<li class="mui-table-view-cell">
<a href="#">Item1</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item2</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item3</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item4</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item5</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item3</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item4</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item5</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item3</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item4</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item5</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item3</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item4</a>
</li>
<li class="mui-table-view-cell">
<a href="#">Item5</a>
</li>
</ul>
</div>
</div>
</div>
<!--下拉刷新容器-->
<div id="pullrefresh" class="mui-content mui-scroll-wrapper">
<div class="mui-scroll">
<!--数据列表-->
<ul class="mui-table-view mui-table-view-chevron">
</ul>
</div>
</div>
<script src="../js/mui.min.js"></script>
<script>
mui.init({
pullRefresh: {
container: '#pullrefresh',
down: {
callback: pulldownRefresh
},
up: {
contentrefresh: '正在加载...',
callback: pullupRefresh
}
}
});
mui.ready(function() {
mui('.mui-scroll-wrapper').scroll();
mui('body').on('touchstart','.mui-scroll-wrapper',function(e){
e.stopPropagation();
console.log('stop touchstart');
});
document.getElementById("popover").querySelector('.mui-scroll-wrapper').addEventListener ('touchmove',function(e){
e.stopPropagation();
console.log('stop touchmove');
});
});
/**
* 下拉刷新具体业务实现
*/
function pulldownRefresh() {
setTimeout(function() {
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
for(var i = cells.length, len = i + 3; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
//下拉刷新,新纪录插到最前面;
table.insertBefore(li, table.firstChild);
}
mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed
}, 1500);
}
var count = 0;
/**
* 上拉加载具体业务实现
*/
function pullupRefresh() {
setTimeout(function() {
mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
for(var i = cells.length, len = i + 20; i < len; i++) {
var li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';
table.appendChild(li);
}
}, 1500);
}
if(mui.os.plus) {
mui.plusReady(function() {
setTimeout(function() {
mui('#pullrefresh').pullRefresh().pullupLoading();
}, 1000);
});
} else {
mui.ready(function() {
mui('#pullrefresh').pullRefresh().pullupLoading();
});
}
</script>
</body>
</html>
重现步骤
[步骤]
[结果]
[期望]
运行环境
[系统版本]
[浏览器版本]
[IDE版本]
[mui版本]
附件
[代码片段]
[安装包]
联系方式
[QQ]
[电话]
0 个回复