2013-09-29 31 views
0

我是新手,我正在開發一個Phonegap,jquery和jquery-mobile的應用程序。我的主要頁面有部分頁這樣的幾個腳本加載:數據轉換不能使用腳本加載頁

<div id="breakfast" data-role="page"></div>       
<script>$("#breakfast").load("partials/breakfast.html");</script> 

任何這種泛音有像這樣的一個導航欄:

<div data-role="navbar" style="background:black;" id="tab">  
    <ul>               
    <li><a href="#"            
     data-role="tab"           
     class="ui-btn-active ui-state-persist">Breakfast</a></li> 
    <li><a href="#lunch" data-role="tab"       
     data-transition="slide">Lunch</a></li>     
    <li><a href="#snack" data-role="tab">Snack</a></li>   
    <li><a href="#dinner" data-role="tab">Dinner</a></li>   
    <li><a href="#other" data-role="tab">Other</a></li>   
    </ul>               
</div> 

我的問題是數據轉換不工作,因爲不知何故在請求之前,頁面不會被加載到dom中。我可以瀏覽所有頁面,但數據轉換不起作用。

我讀的公報文件和我發現,它可能使用預讀網頁:

<a href="prefetchThisPage.html" data-prefetch> ... </a> 

但是,這並不也可以。

我想要的是繼續使用我的部分頁面來保持我的主頁清潔並使數據轉換工作。

有沒有人有線索?

在此先感謝。

+0

HTML文件包含JS代碼,頭部和身體?還是隻有原始的HTML?讓他們導航風格? – Omar

回答

1

您沒有使用正確的功能。

功能load是一個jQuery函數,雖然它工作得很好,但它不應該與jQuery Mobile一起使用。 jQuery Mobile的工作方式有點不同,如果你想預加載頁面,你需要使用jQuery Mobile版本的函數加載。請注意,該頁面已成功加載到DOM的相應部分。

這種方法被稱爲loadPage和官方信息可以找到here。與加載函數不同,這個不需要目標位置,它將由jQuery Mobile處理。你只需要在正確的時刻初始化它。通常在pageinit事件中,在顯示初始應用程序頁面前激活頁面加載。

因爲你自稱是新手請看看這個article,它會告訴你頁面事件是什麼以及如何使用它們。

如果你仍然無法完成工作,我會爲你創建一個工作示例。

+0

非常感謝Gajotres,我將閱讀所有文檔。我會告訴你。非常感謝你。 –

+0

我很抱歉,但我無法得到它的工作。你能解釋一下嗎?謝謝。 –