Blackberry Webworks:触摸屏奇怪的滚动行为

时间:2012-11-12 14:24:03

标签: javascript blackberry scroll blackberry-webworks

在我的Blackberry Webworks应用程序中(适用于智能手机OS 6,7,7.1),我有一些代码如下:

<div style="width:100%; height:100%; overflow:hidden;">
    <div style="overflow:auto;height:100px;width:100%;">
        <ul>
            <li>Some</li>
            <li>Items</li>
            <li>that</li>
            <li>needs</li>
            <li>the</li>
            <li>div</li>
            <li>to</li>
            <li>be</li>
            <li>scrolled</li>
        </ul>
    </div>
</div>

当尝试使用触摸手势滚动div时,我总是必须在滚动手势工作之前首先触摸div元素(如点击一下)。所以我必须触摸它然后滚动它,如果我想再次滚动(即使之间没有其他任何触摸)我必须再次触摸它然后我可以再次滚动。

换句话说:触摸手势每次尝试都会起作用(如果我不碰任何其他东西)。

这种行为非常奇怪,降低了可用性。

您对我如何改变这种行为有任何想法吗?

我试着听一下触摸事件(touchstart和touchmove)并自己滚动div并以某种方式工作,但你没有那种原生的滚动行为,如果你的手势很快就会继续滚动它也会影响点击事件不知何故(我不确定为什么),但他们没有像以前一样好。

1 个答案:

答案 0 :(得分:0)

尝试删除外部容器div并将overflow:auto更改为overflow:hidden

我发布了此页面,以了解如何将不同的滚动行为添加到WebWorks应用程序中。它可能对你有所帮助: http://blackberry.github.com/WebWorks-Samples/kitchenSink/html/css3/overflow.html

我知道在WebWorks容器中使用CSS时需要指定固定高度。高度:100%不按预期运行(BrowserField不会自动扩展为屏幕的100%,但它会扩展为200px)。