Jquery Mobile页面创建功能永远不会完成

时间:2012-04-25 07:06:21

标签: jquery-mobile initialization

我正在使用pagecreate初始化事件来调用一个函数,该函数调用AJAX来填充列表。

我遇到的问题是此事件永远不会完成。页面加载消息仍然存在。

我在这里和Jquery论坛上搜索,没有任何运气。

我的代码如下所示:

$( "#events" ).live( 'pagecreate', function(event) {
    // Executed once the page is loaded
    var fromDate = new Date(),
        toDate = new Date(fromDate.getFullYear(), fromDate.getMonth() + 3, fromDate.getDate());
    update(fromDate, toDate);
    //alert('done');
});


function update(from, to) {

    var eventList = $('ul#event-list');

    $.ajax({
      url: 'events.php',
      dataType: 'json',
      data: {from: from, to: to},
      success: function(data) { 
        showEvents(data, from, to, eventList); // Create list items and append to eventList
        $('.value h2').formatCurrency({ negativeFormat: "-%s%n" }); // Format currency correctly using jQuery plugin
        }
    }); 
}

我得到一个“a.Deferred is not a function”错误,这告诉我它与AJAX调用的完成有关,但是我已经检查了,并且showEvents函数正确地创建了列表项,所以它不会挂起。

阅读this后,我尝试了其他初始化事件:pageinit,甚至是changePage,但没有成功。

感谢您的帮助。

P.S。如果它有帮助,取消注释alert()获取更新列表以正确重新格式化,而不解决问题。我想我会提到它,因为我显然不明白发生了什么。

1 个答案:

答案 0 :(得分:0)

  

如果你想跑   当你的项目加载然后使用时,代码只有一次   mobileinit。每个页面视图的 pageshow ,首先是 pagecreate   在项目中创建pagecreate的时间。