2013-02-12 63 views
3

Iam不太確定我是否使用pageinit事件正確。 Iam只與1個data-role =「page」一起工作。 每個「.html文件」都是通過javascript顯示或隱藏的data-role =「content」。Phonegap防止pageinit

$(document).delegate("#index", "pageinit", function(event, ui) { 
    cookie = null; 
    isLoggedIn(); //cookie = true || false 
    initRotation(); 
    initNavigation(); 
    initService(); 
    ..... 
    if (cookie == null) { 
    $('#login').show(); 
    $('#home, #foot, #service').hide(); 
    } else { 
    $('#login, #service').hide(); 
    $('#foot, #home').show(); 
    $('#naviHome').addClass("ui-btn-active"); // ui-state-persist?! 
    } 
}); 

它迄今爲止工作得很好,但現在Iam試圖讓用戶拍攝一張表格。當相機被打開並且用戶'保存'該圖片時,Android onRestart()事件被觸發,並再次觸發pageinit()事件。 我的兩個問題是:我的想法是始終以良好的性能顯示/隱藏div,並且可以防止pageinit調用?

回答

0

你可以有一個變量來跟蹤pageinit應該或不應該被觸發的位置。當用戶打開攝像機時,變量可以被改變,以便當圖片被保存並且它試圖觸發pageinit時它不會。然後將變量切換回來,以便可以再次觸發其他事件。

關於顯示和隱藏div,這不是最好的表現,但它比不斷加載頁面更好。您可能想要查看一個加載所有模板(html)並使用js加載/交換信息和模板的框架。像backbone.js