2012-03-09 88 views
1

我有兩個頁面,一個是配置文件頁面,另一個是對話框頁面,用於評論配置文件頁面。當init()方法被觸發時,問題出現在配置文件頁面上我更新了DOM,但是一旦對話框頁面關閉,在配置文件頁面上再次觸發init()。這不會是一個大問題,但我動態獲取大量數據,不想再次執行。有沒有辦法讓一些如何在配置文件頁面的頂部打開對話框頁面來說話,或者防止配置文件頁面首先被隱藏?我可以打開對話框頁面而不隱藏jquery mobile中的父頁面嗎?

<div data-role='page' id='profile'> 

<div data-role='content'> 
//dynamically fetch stuff for this div on pageInit() 
</div> 
</div> 

<div data-role="page" id="ProfileComment"> 
<div data-role="header"><h4>Post comment</h4></div> 
<div data-role="content"> 
    <textarea name="comment_data" id="comment_data"></textarea> 
    <input type="submit" id="button_post" value="Post"/> 
</div> 
</div> 
+0

什麼觸發init()? – 2012-03-09 00:16:47

+0

@ Beetroot-Beetroot當頁面初始化時,每個jQuery Mobile頁面都會觸發'pageinit'事件。您可以在這裏看到jQuery Mobile公開的不同自定義事件:http://jquerymobile.com/demos/1.1.0-rc.1/docs/api/events.html – Jasper 2012-03-09 00:52:05

回答

1

我假設您的網頁位於不同的文檔中。如果是這種情況,那麼您可以在profile頁面的data-role="page"元素上設置data-dom-cache屬性爲,因此當用戶離開它(到comment頁面)時,它將保留在DOM中並且頁面狀態將會被保存。

下面是這個設定的文檔:http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

默認情況下,jQuery Mobile的從DOM中刪除頁面,從他們(這是外部文件而已,沒有多頁面模板,所有的頁面導航離開後總是在DOM中)。

相關問題