二八中医
二八中医
  • 发布:2017-01-17 15:59
  • 更新:2017-01-17 15:59
  • 阅读:1132

【报Bug】scroll 在android上透传

分类:MUI

详细问题描述
[内容]

一个常见的查询页面,上方有放在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]
[电话]

2017-01-17 15:59 负责人:无 分享
已邀请:

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