我有这个代码从我的论坛获取最新主题并显示在页面上,但如果我点击HOME按钮,它链接回同一页面,它不会显示页面上的内容。但如果我点击浏览器刷新按钮就可以了。
这是代码
$(document).ready(function(){
$.get('getLatestTopic.cfm', function(data) {
$("#latest").html(data);
});
});
答案 0 :(得分:0)
首先,在使用jQuery Mobile框架时,您应该使用正在加载的页面的'pageinit'事件而不是$(document).ready()。原因是jQuery Mobile在您浏览时使用Ajax将每个已定义页面的内容加载到DOM中。这意味着DOM就绪处理程序仅触发直接加载的页面(例如,您加载的第一个页面或使用浏览器刷新按钮重新加载的任何页面)。
$( '#myPage' ).live( 'pageinit',function(event){
$.get('getLatestTopic.cfm', function(data) {
$("#latest").html(data);
});
});
执行此操作将确保在创建“#myPage”并将其插入DOM(发生一次)时,将get请求发送到“getLatestTopic.cfm”。这意味着如果'#latest'元素位于'#myPage'内,它将包含从'getLatestTopic.cfm'返回的数据,它将被缓存在DOM中。如果你想在每次加载“myPage”时执行get请求,你可以改为使用'pagebeforeshow'事件。
$( '#myPage' ).live( 'pagebeforeshow',function(event){
// This code executes every time the '#myPage' is navigated to, before it is shown.
});