2012-06-26 180 views
5

我想通過點擊jQuery Mobile中的按鈕加載div容器中另一個文件夾(例如:「files/pages/example.html」)中的頁面內容!將頁面加載到div jQuery Mobile

怎麼辦?

<div data-role="page"> 
    <div id="container" data-role="content"><button id="clickButton">Click me!</button></div> 
</div> 
+0

我有一個問題。你在瀏覽器中測試嗎?如果沒有,您是否添加support.cors和allowCrossDomainPages? – Th0rndike

回答

1

$ .mobile.loadPage是你需要的方法。它允許你加載一個外部html文件並將其插入到dom中。此方法的默認值是將其作爲整個頁面加載,因此您必須指定將其加載到dom元素中的選項。這是一個示例(未經測試)的代碼:

$('#clickButton').on("click",function(){ 
    $.mobile.loadPage("theURLofThePage",{pageContainer: $('#container')}) 
}); 

現在,請不要忘記crossDomain安全問題。我設法加入,使在Firefox這項工作:

$("#landingPage").live('pageinit', function() { 
      jQuery.support.cors = true; 
      $.mobile.allowCrossDomainPages=true; 
     }); 

此外,正在加載的頁面必須在數據角色=頁包裹格(假設它有ID =「secondPage」)。負載,觸發數據角色=頁ID = secondPage格後:

$('#secondPage").trigger('pagecreate'); 
+0

我已經嘗試過,但沒有加載頁面。 –

+0

和發生了什麼?代碼在哪裏?你得到了什麼錯誤?這是做這件事的標準方式,如果它不起作用,那麼你的代碼有一些錯誤,但是如果你沒有向我們展示你嘗試過什麼,以及哪些是我(和SO社區)無法幫助你您發現的問題。 – Th0rndike

+0

對不起。我嘗試了我在文章開始時提供的代碼,並且您的jQuery代碼加載了頁面(剛剛從.on移動到.live,並在loadPage函數的末尾添加了';')。沒有錯誤(使用模擬器iOs)並且什麼都不做!我嘗試在loadPage函數後執行一個「alert(('#container')。html())」,但警報聲明div #container爲空(不顯示警報中的任何內容)。 –