0

我正在做这个程序,想用你的手指添加滑动屏幕,我做到了,但由于某种原因,它在我的 Android 2.3.3 手机上不起作用,但在浏览器中,一切正常。你能说出什么问题吗?

这是代码

    <!DOCTYPE html>
<html>
<head>

  <title>jQuery Mobile test page</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet"  href="http://code.jquery.com/mobile/latest/jquery.mobile.css" />
  <!-- <link rel="stylesheet"  href="jquery.mobile/jquery.mobile-1.1.0.css" />  -->
  <script src="http://code.jquery.com/jquery-1.7.1.js"></script> 
  <script type="text/javascript">
    var pageSeq = ['page1','page2','page3','page4'];
    var currentPage = 0;
    var bindSwipeEvents = function() {
        $(".ui-page").swipeleft(function() {
            console.log(pageSeq.length + ",current:"+currentPage);
            if(currentPage==pageSeq.length) { return; }
            currentPage++;
            $.mobile.changePage( $('#'+pageSeq[currentPage]), 
                             { transition: "slide", reverse:false});
        });

        $(".ui-page").swiperight(function() {
            if(currentPage==0) { return; }
            currentPage--;
            $.mobile.changePage( $('#'+pageSeq[currentPage]), 
                             { transition: "slide", reverse:true});
        });
    };

    $( '.ui-page' ).live( 'pageinit',function(event){
        bindSwipeEvents();
    });
    bindSwipeEvents();
  </script>
  <script src="http://code.jquery.com/mobile/latest/jquery.mobile.js"></script>
  <!-- <script src="jquery.mobile/jquery.mobile-1.1.0.js"></script>  -->
  <script type="text/javascript" charset="utf-8" src="js/cordova-1.6.1.js"></script> 
</head>

<body>

<div data-role="page" id="page1">
    <div data-role="header">
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <h3> Page 1 </h3>            
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->

<div data-role="page" id="page2">
    <div data-role="header">
        <a data-rel="back">Back</a>
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <h3>Page 2</h3>
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->
<div data-role="page" id="page3">
    <div data-role="header">
        <a data-rel="back">Back</a>
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <h3>Page 3</h3>
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->
<div data-role="page" id="page4">
    <div data-role="header">
        <a data-rel="back">Back</a>
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <h3>Page 4</h3>
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
4

1 回答 1

1

在大多数 android 2.x ROM 中,多点触控事件(如滑动和捏合)在 android 浏览器中不起作用(请参见此处)。

但是,您可以使用此解决方法重新启用这些事件,从而在 android 2.x 设备上的 phonegap 应用程序中使用它们。

我已经在我的 phonegap 应用程序中使用了它,并使用hammer.js库在android 2.2 上成功测试了它来进行事件监听。

于 2012-12-13T23:30:28.663 回答