2011-08-15 54 views
4

我有一個移動網站,它是通過附加XML Feed中的數據創建的。供稿及其所有數據首先被加載,然後在用戶瀏覽網站時從數組中提取正確的供稿內容。之前的內容將從div中清除,並應用新內容。我試圖在追加新的內容時,爲jquery mobile調用某種update()函數,以便它將更新哈希值,應用適當的類等,但我似乎無法在文檔中找到它。我在這裏看到這篇文章:jquery mobile - 附加html內容並應用JQuery mobile的樣式

Dynamically creating jQuery Mobile pages using jQuery Templates

但我無法找到該網頁()函數記錄任何地方,它似乎並沒有爲我工作。任何想法如何做到這一點?

+1

你可以嘗試新的.trigger(「創建」); beta 2中引入的選項:http://jquerymobile.com/blog/2011/08/03/jquery-mobile-beta-2-released/ –

回答

8

看看在latest documentation and demos page

加強新的標記 頁面插件調度「pagecreate」 事件,其中大部分部件使用自動初始化自己。只要引用了小部件插件腳本,就會自動增強 在頁面上找到的小部件的任何實例。

但是,如果通過 的Ajax生成的內容的新標記的客戶端或負載,並將其注入到一個頁面,你可以觸發創建事件 處理自動初始化包含在 新的所有插件標記。這可以在任何元素上觸發(即使是div本身),爲您節省了手動初始化每個插件 (列表視圖按鈕,選擇等)的任務。

例如,如果HTML標記(比如登錄表單)的塊是在通過Ajax加載 ,觸發創建事件來自動變換 所有它包含(這種情況下的輸入和按鈕)的微件進入 增強版本。此方案的代碼將是:

$(...new markup that contains widgets...).appendTo(".ui-page").trigger("create");