1

私の 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 要素に 1 回触れる必要があります。だから私はそれに触れてからスクロールしなければならず、もう一度スクロールしたい場合は(その間に他に何も触れられていなくても)もう一度触れなければならず、その後再びスクロールすることができます。

言い換えれば、タッチジェスチャは、試行するたびに機能します(その間に他のものに触れない場合)。

この動作は非常に奇妙で、使いやすさが低下します。

この動作を変更する方法について何か考えはありますか?

私はタッチ イベント (touchstart と touchmove) をリッスンして div を自分でスクロールしようとしましたが、それは何らかの方法で機能しますが、ジェスチャが非常に速く、クリック イベントにも影響を与える場合にスクロールを続けるというネイティブのスクロール動作はありません。どういうわけか(理由はわかりません)、以前ほどうまく機能しません。

4

1 に答える 1

0

外側のコンテナdivを取り外して、 を に変更してoverflow:autoみてくださいoverflow: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 に答える