1

在我的 Blackberry Webworks 应用程序(适用于 Smartphones 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 并且以某种方式工作,但是如果您的手势非常快并且它也会影响点击事件,那么您没有那种本机滚动行为,它会继续滚动不知何故(我不知道为什么),但它们不像以前那么好用。

4

1 回答 1

0

尝试移除外部容器div并将其更改overflow:autooverflow:hidden.

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

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

于 2012-11-13T01:39:35.200 回答