$ .mobile.changePage无效

时间:2013-05-17 02:32:25

标签: jquery cordova jquery-mobile

我在点击listview元素时使用$ .mobile.changePage在新页面上传输。

这就是我使用它的方式,

$('ul').children('li').on('click', function () {
 created_date = $.trim($(this).text());
 $.mobile.changePage( "Image.html", {
  transition: 'slide',
  reverse: 'true'
 });                    
});

这是html页面

<div data-role="page" id="SavedImage" >
 <div data-role="header">
  <h1></h1>
  <a href="#"></a>
 </div>
 <div data-role="content">
  <img src="Image/InScope.png" alt="" style="height:100%; width:100%;" />
 </div>
 <div data-role="footer">
 </div>
</div>

转换为image.html,当我点击后退按钮时,它必须转到listview。但它会转到listview页面并再次返回到image.html页面。

如何防止它回到image.html

2 个答案:

答案 0 :(得分:1)

我没有在您的代码中看到错误,这可能是浏览器某些意外行为的错误。需要考虑的事项: 我遇到过类似的问题,但我已经完成了以下事情。你可以试试这个。

  • 尝试从链接中删除href="#"
  • false置于反向值。
  • 而不是直接使用changePage()申请href="Image.html" data-transition="slide"
  • clickreturn false

如果以上任何一项都不起作用,请转到这个问题。问题是同一个问题。

jquery-mobile-change-page-to-itself

答案 1 :(得分:1)

我无法看到你的其他代码,但我想我理解你的问题。如果我正确地推断出你的问题很容易解决,我想你没有告诉我们一切。

让我猜一下,第一次它很有效,但每隔一段时间就有一个你所描述的问题。

将您的点击绑定代码更改为:

$('ul').children('li').off('click').on('click', function () { 
    created_date = $.trim($(this).text());

    $.mobile.changePage( "Image.html", {
                        transition: 'slide',
                        reverse: 'true'
    });
});

基本上每次返回列表页面时,单击事件将再次绑定。对于每个绑定,单击li元素将触发几个将导致您的问题的changePage事件。