jquery mobile - changePage不适用于pageinit

时间:2013-03-05 11:00:53

标签: jquery jquery-mobile

以下是示例代码(test.html),

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css"/>
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>

<div data-role="page" id="page1">
<div data-role="content" id="content">Page 1</div>
</div>

<div data-role="page" id="page2">
<div data-role="content" id="content" >Page 2</div>
</div>

<script>
$('#page2').live('pageinit',function(evt) {
    $.mobile.changePage($('#page1'),{allowSamePageTransition:true})
});
</script>

</body>
</html>

当我尝试使用Firefox和Chrome访问./test.html#page2时,预计会更改为page1。但它并不总是成功地更改为page1。有时,它仍然在第2页保持不变。谁知道为什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

为什么不尝试以下

$('#page2').on('pageshow',function(evt) {
    $.mobile.changePage($('test.html#page1'),{allowSamePageTransition:true})
});
根据我的经验,另一条建议是嵌套的JQM页面会导致导航错误。作为一个拇指规则,我总是为我的JQM HTML页面提供单独的页面。