2012-09-05 53 views
0

因此,我使用以下代碼爲我的各種JQM頁面初始化動態內容,但是pageinit顯然是用於JQM頁面初始化的最佳方法不會自行清理。jQuery Mobile - .on('pageinit')for 1.7.1

例)我有一個動態頁腳。它打印今天的日期。在我的初始化代碼我具備以下條件:

$(document).on('pageinit', '#dashboardPage', function() { 

     var currentTime = new Date() 
     var month = currentTime.getMonth() + 1 
     var day = currentTime.getDate() 
     var year = currentTime.getFullYear() 
     var fullDate = month + "-" + day + "-" + year; 

     $('#footer').append('<p> Today: ' + fullDate + '</p>'); 

    }); 

問題:每次我導航離開並返回本頁面,再次pageinit火災,並增加了又一註腳到我的網頁。清理是我的工作嗎? JQM不應該一次又一次地觸發pageinit嗎?有沒有更好的方法來解決這個問題?

回答

1

如何刪除和追加在一起?

$('#footer').remove('p').append('<p> Today: ' + fullDate + '</p>'); 
0

你應該創建一個專用的日期範圍,只有通過增加​​到您的頁腳,所以稍微修改代碼

$(document).on('pageinit', '#dashboardPage', function() { 

    var currentTime = new Date() 
    var month = currentTime.getMonth() + 1 
    var day = currentTime.getDate() 
    var year = currentTime.getFullYear() 
    var fullDate = month + "-" + day + "-" + year; 

    $('#dateSpan').html(fullDate); 

}); 
2

更新這些內容,比如恕我直言OP的現實問題是每次瀏覽頁面時,pageinit都會觸發。這似乎發生了AJAX加載頁面,而不是在鏈中的「第一」頁:

Page one --(ajax)-->Page two--(ajax)-->Page three--(ajax)-->Back to page two 

在這個序列中的兩個頁面的pageinit將各自獲得你回到兩頁的時間發射。

我試圖通過指定data-dom-cache="true"來避免此行爲,但它沒有幫助。 恕我直言,這是JQM框架中的一個錯誤。

相關問題