2014-11-24 68 views
0

我正在开发一个带有Phonegap/Jquery移动版的Android应用程序。我有一个包含倍数网页的HTML文件:后退按钮始终在内部div

<div data-role="page" id="products" > 
    <div data-role="header" >   
     <h1>Produits</h1> 
     <a href="#" data-role="button" data-rel="back" data-icon="back" data-iconpos="notext"  data-direction="reverse"></a>      
    </div> 
    <div data-role="content"> 
     <br> 
     <ul id="cat-list" data-role="listview" class="mainmenu"> 
      <li><a href="#" id=198 >Electronique</a></li> 
      <li><a href="#" id=155 >Services</a></li> 
      <li><a href="#" id=163 >Bonnes Affaires</a></li> 
     </ul> 
    </div> 
</div> 
<div data-role="page" id="productsByCat"> <div> 

我的脚本文件包含

$(document).on("pagebeforeshow", "#products", function(){ 

    $(this).find('a').unbind('click').click(function(e) { 

     e.preventDefault(); 
     passDataObject.selectedId = this.id; 
     $.mobile.changePage('#productsByCat', { transition: 'slide'}); 
    }); 
}); 

我的问题是,当我在产品div后退按钮点击,它显示productsByCat格(以前的页面是外部页面主页)。请帮忙吗?

+0

使用'pagebeforeshow'或类似事件例如添加侦听器“点击”是一种不好的做法。每次显示“产品”页面时,都会复制'click'监听器。使用'pagecreate'来连接监听器。 – Omar 2014-11-24 17:02:08

+0

感谢Omar,但我仍然有同样的问题,每次我被重定向到#produitsByCat。我在$ .mobile.changePage('#produitsByCat',{transition:'slide'})之前放了一个警报。 ,当我点击后退按钮时会显示#produitsByCat。 – 2014-11-25 07:48:27

回答

0

我解决了通过点击事件选择列表视图ID而不是$(本).find(“A”):

$(document).on("pagecreate", "#products", function(){ 
     $("#cat-list a").on("click", function(e){ 
      e.preventDefault(); 
      passDataObject.selectedId = this.id; 
      $.mobile.changePage('#productsParCat', { transition: 'slide'}); 
     }); 
});