我正在做这个程序,想用你的手指添加滑动屏幕,我做了但是由于某种原因它在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>
答案 0 :(得分:1)
在大多数Android 2.x ROM(see here)的android浏览器中,轻触和捏合等多点触控事件无效。
但是,您可以重新启用这些事件,因此可以使用this workaround在Android 2.x设备上的phonegap应用中使用它们。
我已经在我的phonegap应用程序中使用了这个,并使用hammer.js库在android 2.2上成功测试了它以进行事件监听。