后退按钮总是在内部div上

时间:2014-11-24 16:58:13

标签: android jquery-mobile cordova

我正在使用Phonegap / Jquery mobile开发Android应用程序。我有一个包含多页的Html文件:

<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(上一页是外部页面Home)。有些帮忙吗?

1 个答案:

答案 0 :(得分:0)

我通过在点击事件上选择listview id而不是$(this)来解决这个问题.find(&#39; a&#39;):

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