$ .mobile.changePage没有更改页面?

时间:2013-04-25 11:41:06

标签: jquery cordova jquery-mobile

这是HTML代码:

 <div data-role="page" id="mainMenu">
    <div data-role="header">

    </div>
    <div data-role="content">
    <ul data-role="listview" data-inset="true"
                                        style="margin-top:50%; margin-left:20%;">
     <li id="prayerId" data-theme="b"><a href="#"><img
                                                src="css/images/namazimage.jpg" />PRAYERS </a>
                                        </li>
     <li id="goalId" data-theme="e"><a href="#"><img
                                                src="css/images/namazimage.jpg" />GOAL </a>
                                        </li>

     </ul>
     </div>
    </div>
    <!-- //////////////////////// PRAYER PAGE START //////////////////////////////////////  --> 
        <div data-role="page" id="prayer">
            <div data-role="header" data-theme="b"></div>
            <div data-role="content"></div>
            <div data-role="footer" data-theme="e" data-position="fixed">

                <div data-role="navbar">

                    <ul>
                        <li id="namazId"><a href="#" data-role="tab" data-icon="grid">NAMAZ</a></li>
                        <li id="fastId"><a href="#" data-role="tab" data-icon="grid">FAST</a></li>
                    </ul>
                </div>
            </div>

        </div>

<!-- //////////////////////// PRAYER PAGE END //////////////////////////////////////  -->

这是在单独的js文件中编写的代码:

$('#mainMenu').live('pageinit', function() {
    $('#prayerId').off('click').on('click', function() {
        alert("prayer id");
        $.mobile.changePage("#prayer", null, true, true);
        //$.mobile.changePage('#loginPage', null, true, true);

    });
});
$('#prayer').live('pageinit',function()
 {  
    alert("prayer page");
    $('#namazId').off('click').on('click', function() {
        alert("namaz page");
        //$.mobile.changePage('#mainMenu', null, true, true);
        $.mobile.changePage('#namazPage', null, true, true);

    });
});

但是在这里更改页面不起作用jquery和cordova的所有引用已经使用cordova 2.0.0和jquery 1.7.1添加

1 个答案:

答案 0 :(得分:0)

pageinit事件中删除click个事件。 pageinit仅在页面初始化时触发一次,之后,任何附加到它的事件都将被忽略。

$('#prayerId').off('click').on('click', function () {
 alert("prayer id");
 $.mobile.changePage("#prayer", null, true, true);
});

$('#namazId').off('click').on('click', function () {
 alert("namaz page");
 $.mobile.changePage('#namazPage', null, true, true);
});
  

<强> Demo