1

以下に示すように、Jquery Mobile ダイアログ ボックスがあります。

   <div data-role="dialog" id="styles" data-theme="a">       
        <div data-role="header" class="header">       
            <h1>Styles</h1>         
        </div>
        <!-- /header --> 

        <div data-role="content" data-scroll="true" data-theme="a">   
            <div class="scroll">                         
                <ul data-role="listview" id="mylist">                            
                </ul>                                         
            </div>               
        </div>
        <!-- /content --> 

        <div data-role="footer" class="footermodal">               
            <h1>↕ Please Scroll ↕&lt;/h1>             
        </div>
        <!-- /footer -->    

    </div>

ul コンテンツはスクロール可能である必要があります。iosではそうです。Android 4+ にもあります。しかし、Android 2.2.2 ではコンテンツはスクロールしません。私は追加しようとしました:

data-scroll="true"

うまくいきません。この時点での高さ、そしてもちろんjqueryモバイルの「テーマ」を除いて、スタイルはありませんが、私はそれを削除しましたが、まだスクロールしません:

  .scroll{
    height:320px;
    overflow: scroll;

    }

Android 2.2.2 でスクロールしない理由がわかりません。誰かがこの問題を知っていますか、解決策や何か助けがありますか? それは私を夢中にさせます。:/

4

3 に答える 3

1

http://chris-barr.com/index.php/entry/scrolling_a_overflowauto_element_on_a_touch_screen_device/をご覧ください

于 2012-09-19T10:52:02.843 に答える
0

3.0 より前のすべての Android バージョンには、overflow:scroll または auto のバグがあります (バグ情報)。

Chris Barr の記事から、jQuery を使用している場合は、ここに簡単な修正があります。

function touchScroll(selector){
      var scrollStartPos = 0;
      $(selector).live('touchstart', function(event) {
        event.preventDefault();
        scrollStartPos = this.scrollTop + event.originalEvent.touches[0].pageY;
      });
      $(selector).live('touchmove', function(event) {
        event.preventDefault();
        this.scrollTop = scrollStartPos - event.originalEvent.touches[0].pageY;
      });
}

そして、 modernizr を使用している場合:

if (Modernizr.touch) {
    touchScroll($('.myScrollableContent'))
}

ただし、すべてのタッチ可能なデバイスにこれがあるため、理想的ではありません。

または、Phonegap を使用する場合は、次のことができます (phonegap が開始された後のどこか):

if (window.device && device.platform=="Android" && parseInt(device.version) < 3){
    touchScroll($('.myScrollableContent'))
}
于 2013-01-08T13:19:41.337 に答える