2014-11-24 2 views
0

Я разрабатываю приложение для Android с мобильным телефоном Phonegap/JQuery. У меня есть файл 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 DIV (предыдущий страница - внешняя страница Домашняя страница). Помогите пожалуйста?

+0

Использование 'pagebeforeshow' или подобные события для добавления слушателей, например, 'click' - плохая практика. Каждый раз, когда отображается страница «products», вы дублируете 'click' listener. Используйте 'pagecreate' для подключения слушателей. – Omar

+0

Спасибо Омару, но у меня все еще такая же проблема, каждый раз я перенаправлен на #produitsByCat. Я поставил предупреждение перед $ .mobile.changePage ('# produitsByCat', {переход: 'слайд}}; , и он отображается, когда я нажимаю кнопку «Назад», после чего отображается #produitsByCat. –

ответ

0

Я решил, что, выбрав ListView идентификатор на событие щелчка вместо $ (это) .find («а»):

$(document).on("pagecreate", "#products", function(){ 
     $("#cat-list a").on("click", function(e){ 
      e.preventDefault(); 
      passDataObject.selectedId = this.id; 
      $.mobile.changePage('#productsParCat', { transition: 'slide'}); 
     }); 
}); 
Смежные вопросы