1

单击 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

4

2 回答 2

1

我看不到您的其余代码,但我想我理解您的问题。如果我推断正确,您的问题很容易解决,我认为您没有告诉我们一切。

让我猜猜,第一次效果很好,但每隔一段时间就会出现你描述的问题。

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

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

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

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

于 2013-05-17T07:45:31.987 回答
1

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

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

如果以上任何一项都不起作用,请转到这个问题。这与您所问的问题相同。

jquery-mobile-change-page-to-self

于 2013-05-17T06:13:23.753 回答