use*_*778 14 mobile webkit web-applications ios ios5
当使用[ -webkit-overflow-scrolling:touch ;]时,滚动区域运行良好,但它会导致触摸事件停止滚动区域的工作.有人有同样的问题吗?谁可以给我一些关于这个新滚动功能的官方链接?
        <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>ios5 scroll</title>
    <style type="text/css">
    header {
        background: red;
        width: 300px;
        height:44px;
    }
    .scroll {
        width: 300px;
        height:300px;
        background: yellow;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
    }
    </style>
    </head>
    <body>
    <div id="container">
        <header>
            <button onclick="alert('header');">won't work?</button>
        </header>
        <div class="scroll">
            <button onclick="alert('scroll');">It works</button>
            <div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div>
            <div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div>
            <div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div><div>text</div>
        </div>
    </div> 
    </body>
    </html>
2011-12-27:我已经解决了这个问题,但我仍然难怪真正的原因.在我的例子中,我在一个网页中有几个部分,每个部分都有一个滚动区域和一个标题,每次只显示一个部分,并使用css3动画结合转换切换部分.当在所有部分的滚动区域中添加[-webkit-overflow-scrolling]时,触摸事件会随机停止工作,所以我只是在当前显示的部分中添加[-webkit-overflow-scrolling]并在部分为时将其删除隐.这很好但我仍然不知道是什么原因引起了这个问题.
小智 7
我有同样的问题,我也可以每次复制它.当iPad的方向发生变化时,我有一个页面可以调整元素的大小以适应屏幕.如果在任何时候元素不再需要滚动,那么它将在此后停止这样做,即使元素被调整回到需要滚动的位置(例如,为我翻转回景观).所以它肯定是一个bug,但我确实有一个解决方法:
调整元素大小时,我正在重置-webkit-overflow-scrollingto auto,然后将其重新设置为touch.但是,你必须在两者之间引入延迟(50ms工作正常,没有尝试任何更低).所以我所做的是向元素添加了"scrollable"属性,并使用下面的代码(使用jQuery):
$("[scrollable]").css("-webkit-overflow-scrolling", "auto");
window.setTimeout(function () { $("[scrollable]").css("-webkit-overflow-scrolling", "touch") }, 100);
希望这可以帮助!
小智 1
我确认我在使用大量触摸事件和列表滚动的网络应用程序上看到了同样的问题。在iOS5之前我使用的是iScroll,一切都工作正常;在 iOS5 中,我使用 -webkit-overflow-scrolling:touch 来滚动列表以获得更快的滚动速度。
结果是我遇到了随机发生的触摸事件,不再在应用程序的各个部分上工作。这些问题通常发生在我滚动列表后。它会随机影响滚动区域之外的元素,通常是页脚菜单。
在“冻结触摸”状态下重新加载应用程序不会解冻它:要解冻它,我必须关闭 safari 选项卡,打开一个新选项卡并重新加载,直到我在使用该应用程序时再次遇到该问题。
该问题出现在 iPad2、iPhone 4、iPhone 3GS 上,全部运行 iOS 5.0
最终,我停用了溢出触摸滚动并返回到 iScroll,一切都在 iOS4 中运行良好。
| 归档时间: | 
 | 
| 查看次数: | 20723 次 | 
| 最近记录: |