2013-10-31 42 views
0

這裏是index.html的

 <script> 
     $(document).on('pagebeforeshow','id="container"', function(){  
      $.mobile.activePage.find('id="content-container"').load("content.html", function(){ 
       $(this).parent().trigger('pagecreate'); 
      }); 

     }); 

    </script> 

的content.html頁都有它被加載時從服務器獲取數據。

當上面的代碼執行時,content.html頁面觸發了哪個事件?


我已經嘗試下面的事件,但他們都不工作

  1. pagebeforeshow
  2. pageshow
  3. deviceready
  4. pagecreate
  5. pageinit
  6. 頁面加載
+0

您是否嘗試過pagechange –

+0

是的,pagechange也沒有被解僱...... –

+0

我無法理解您的代碼。請使用此鏈接我想您可能會從中獲得幫助http://1.bp.blogspot.com /-YfTMZd-Ta0o/UGpmlFqH_4I/AAAAAAAAATI/BwA8SSSFGkM/s1600/fig1-jqm-page-eventsF.png –

回答

1

他們都不會觸發,因爲他們是沒有關係的加載功能。你應該使用jQuery Mobile版本的那個函數叫做:loadPage。它是函數加載的包裝函數。

這是官方鏈接:http://api.jquerymobile.com/jQuery.mobile.loadPage/

在這種情況下,頁面事件順序應該是這樣的:

  1. pagebeforeload
  2. pagebeforecreate
  3. pagecreate
  4. pageinit
  5. 頁面加載

正確檢測頁面加載和pagebefpreload事件使用它們像這樣:

$(document).on('pagebeforeload', function(){  
    console && console.log("pagebeforeload!!"); 
});     

$(document).on('pageload', function(){  
    console && console.log("pageload!!"); 
}); 

瞭解更多關於它here,你也能找到工作的例子。

相關問題