2014-11-24 67 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'}); 
     }); 
});