2012-09-05 47 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框架中的一个错误。

相关问题