javascript - 黑莓网络工程 : Weird scrolling behavior with touchscreens

标签 javascript blackberry scroll blackberry-webworks

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

最佳答案

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

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

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

关于javascript - 黑莓网络工程 : Weird scrolling behavior with touchscreens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345417/

相关文章:

javascript - D3.js 无法将背景图像添加到矩形

javascript - Grails 在 https 中引用 js

javascript - Flexbox 填充行并确定每行的子项数

javascript - Node.js puppeteer - 在循环中使用数组中的值来循环浏览页面

css - 网页的文本在浏览器中被截断

multithreading - 线程过多异常

java - 黑莓优化 - 来自磁盘或 RAM 的背景图像?

java - 如何将 Lwuit 应用程序移植到 Blackberry Torch

javascript - 在视口(viewport)中可见对于加载的所有内容都返回可见

javascript - 强制垂直滚动用户操作显示为水平滚动