我正在使用pagecreate初始化事件來調用一個函數,使AJAX調用填充列表。Jquery Mobile pagecreate函數永不完成
我遇到的問題是此事件永不完成。頁面加載消息仍然存在。
我在這裏和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不是一個函數」的錯誤,這表明對我來說,有事情做與AJAX調用完成,但我已經檢查過,並且showEvents函數正確地創建列表項目,所以它不會掛起。
在閱讀this之後,我嘗試了其他初始化事件:pageinit,甚至是changePage,但都沒有成功。
感謝您的幫助。
p.s.如果它有幫助,取消註釋alert()獲取更新列表以正確重新格式化,而不解決問題。我想我會提到它,因爲我顯然不明白髮生了什麼。
u意思是頁面創建功能不起作用 – Warewolf 2012-04-27 04:48:48
不,功能完成。麻煩的是,頁面加載消息不會被刪除,這表明頁面渲染從未完成。 – Justin 2012-04-28 10:22:46
解決 - 發現我使用的是舊版本的jQuery(1.4.1) - 意有所指胖手指的版本號。 [延遲對象](http://api.jquery.com/category/deferred-object/)僅在v1.5中引入。 – Justin 2012-04-28 10:56:32