jQuery Mobile在页面更改期间加载内容

时间:2013-03-05 21:04:46

标签: jquery cordova jquery-mobile

我的代码中有以下情况。在显示搜索结果的页面上,每个结果都包含以下代码:

<a href='#pageSearchDetail'>Result</a>

点击页面#pageSearchDetail我在页面显示之前使用以下事件做某事:

$(document).delegate('#pageSearchDetail', 'pagebeforeshow', function() 
{    
    AjaxSearchDetail();        
});

在AjaxSearchDetail中,我从Web服务器加载一些数据并将该数据插入DOM。 我的问题是现在页面已经显示,尽管ajax请求还没有完成。因此,在ajax加载完成之前,页面仅部分显示并且为“空”。

ajax请求代码:

function AjaxSearchDetail()
{               
    var data = "&data=test";

    $.ajax({
        data: data,        
        success: Success,
        error: Error
    });
}

另一个有趣的事情是在页面加载过程中没有显示加载小部件。我做错了什么?

1 个答案:

答案 0 :(得分:1)

我使用以下代码解决了这个问题:

$(document).ajaxStart(function() {    
    $.mobile.loading('show');
});

$(document).ajaxStop(function() {
    $.mobile.loading('hide');
});

现在我用:

$(document).on("pagechange", function(e, data) 
{
    var pageID = data.toPage.attr("id");

    switch (pageID)
    {

    }
}