現在,我的問題是'簡單'(問題是,解決方案可能不是)。我有一個使用$ .json()檢索數據的函數。必須使用從'pageinit'/'pageshow'調用的函數將數據加載到<ul>
中。 雖然它根本不加載任何東西。但!當我刷新頁面時,它完全沒有問題地加載pageinit。jQuery Mobile沒有觸發pageinit
這是我的jQuery;
$('#showsPage').bind('pageshow', function(event) {
getShows();
});
/******* FUNCTIONS *********/
function getShows()
{
// Loading.
$.mobile.loading('show');
// Load the data.
$.getJSON("some url", function(json) {
$("#listShows li").remove();
$.each(json.data, function(index, show) {
$("#listShows").append("<li><a href='#'>Stuff</a></li>");
$("#listShows").listview('refresh');
// Hide the loading.
$.mobile.loading('hide');
});
});
}
我是否在做大幅度錯誤?我有一個頁面運行在不同的頁面上沒有問題。
這工作對我來說,但我不知道爲什麼。它在一些頁面更改上工作,但不是其他的。但現在起作用,所以我只是想讓它們都是這樣。 – dgig
@ user399696這個答案基本上只是使用委託事件處理程序,這通常是jQuery Mobile項目的一個好主意。委託事件處理程序綁定到祖先元素,以便它現在和將來都可以在DOM中爲元素觸發。如果您有興趣,您可以研究「委派的事件處理程序」以瞭解更多信息。 – Jasper