Jquery mobile 在jQuery mobile 1.4.0中使用数据预取

Jquery mobile 在jQuery mobile 1.4.0中使用数据预取,jquery-mobile,prefetch,Jquery Mobile,Prefetch,在我的jQuery移动应用程序中,我使用数据预取来预取Page1,以提高性能,因为每个页面都需要时间打开并在单击链接后显示给用户,问题是,当我在应用程序启动后单击Page1链接时,Page1的pageinit/pagecreate事件没有执行,在这种情况下,我将从数据库返回数据,以显示在弹出列表视图中,但当我返回主页时,单击Page1链接a将获得执行的Pageinit事件和返回的数据 为什么预取页面时Pageinit/pagecreate事件不起作用?我怎样才能解决这个问题?因为在Pagecre

在我的jQuery移动应用程序中,我使用数据预取来预取Page1,以提高性能,因为每个页面都需要时间打开并在单击链接后显示给用户,问题是,当我在应用程序启动后单击Page1链接时,Page1的pageinit/pagecreate事件没有执行,在这种情况下,我将从数据库返回数据,以显示在弹出列表视图中,但当我返回主页时,单击Page1链接a将获得执行的Pageinit事件和返回的数据

为什么预取页面时Pageinit/pagecreate事件不起作用?我怎样才能解决这个问题?因为在Pagecreate或Pageinit事件中返回数据非常重要

我面临的另一个问题是,当我从Page1返回主页时,主页链接不起作用,我单击了Page1链接,但Page1没有打开,即使我多次单击链接,它也没有打开Page1。。我怎样才能解决这个问题呢??请帮帮我

主页

<div data-role="page" id="home">
<div data-role="header" data-position="fixed">
     <h1>Header - Home</h1>

</div>
<div data-role="content"></div>
<a href="Page1.html" data-transition="none"  class="ui-btn"  data-role="button" data-prefetch="true" >Page1</a>
 <a href="Page2.html" data-transition="none"  class="ui-btn"  data-role="button" data-prefetch="true" >Page2</a>

<div data-role="footer" data-position="fixed">
     <h1>Footer</h1>

     </div>
 </div>
第1页

<div data-role="page" id="Page1">
     <div data-role="header" data-position="fixed">
       <h1>Header - Page 1</h1>

      </div>
      <div data-role="content">

       <a href="MyPOPUP" data-rel="popup" class="ui-btn  ui-corner-all" data-   inline="true">Show Popup</a>

       </div>
       <div data-role="popup" id="MyPOPUP" data-position-to="window" data-  corners="false" data- overlay-theme="a" data-dismissible="false">
       <div data-role="header" data-theme="a">

           <div style="text-align:center;float:center;padding-top:11px;">
           <font size="6px" color="white">Employees</font>

           </div>
        </div>
       <div id="scrollContent" data-role="content">
      <ul data-role="listview" id="EmpList" style="margin: 0 !important;">

      </ul>
     </div>
   </div>
</div>
第1.js页

  document.addEventListener('deviceready', onDeviceReady, false);


  function   onDeviceReady() 
  {

       $('#Page1').on('pageinit',function(event){


           db.transaction(getAllEmployees, transactionError); 

       });

   }

  function getAllEmployees(tx)
  {
      tx.executeSql('SELECT EmpName,Salary,Gender,Country  FROM  Employee',           [],getEmpSuccess,transactionError);

  }

 function  getEmpSuccess(tx,result)
 {    

     if (result.rows.length)
     {


         for(var i=0;i< result.rows.length; i++)
         {     
            var row = result.rows.item(i);
            $('#EmpList').append('<li><a href="#">' +'<font class="line1">' + '         '+row['EmpName']+ '</font>' +'<font size="6px" class="line2" > '+ row['Gender']  +'</font>'+'<font size="6px" class="line3"> ' +row['Country']+' </font>'+'<font  size="6px" class="line4"> '+ row['Salary']+'</font><BR> '+'</a><a href="#" >Delete</a></li>' );

                                                                                                                                                                                                                    }
 } 
 $('#EmpList').listview('refresh');
} 

我认为预取中没有问题,请尝试$document.onpageinit、pageid、function。@OmarThanks我已经尝试过了,但问题仍然是数据没有返回弹出窗口是空的@OmarAt当我第一次使用应用程序并单击Page1链接时,它根本没有进入pageinit事件处理,因为我已经设置了一个警报来测试,并且警报没有出现,但是,当我返回主页,然后再次单击Page1链接时,pageinit执行并显示警报。但是我需要单击链接3次才能打开Page1,请问是否有其他解决此问题的方法?你能帮我更多吗?在第一页的创建中,加载page1.html$.mobile.pageContainer.pagecontainerload,page1.html,而不是预取