我正在关注示例http://jquerymobile.com/test/docs/pages/page-dynamic.html,但我的问题是它根本不呈现页面,我只是一个白页。我不知道有什么问题,即使我已将page.page()
更改为page.trigger('create')
,也尝试了content.find(":jqmData(role=listview)").listview('refresh')
,但一无所有。问题是我在控制台中没有错误,所以我不知道我做错了什么。这是我的代码:
$(document).bind("pagebeforechange", function(e, data) {
console.log('[binding][pagebeforechange]');
if( typeof data.toPage === "string") {
var u = $.mobile.path.parseUrl(data.toPage);
if(u.hash.search(/^#watch/) !== -1) {
console.log('[binding] setWatch');
var id = u.hash.replace(/.*id=/, "");
e.preventDefault();
setWatch(u, id);
} else if(u.hash.search(/^#playlist/) !== -1) {
console.log('[binding] setPlaylist');
//Bind the change page event, and if it is playlist page, call setPlaylist
playlistId = u.hash.replace(/.*id=/, "");
e.preventDefault();
setPlaylist(u);
}
}
});
function setPlaylist(urlObj) {
console.log('[setPlaylist]');
var page = $('#playlist');
var content = $('#playlistContent');
var html = getListHtml(playlistId); //Here a get the complete list code
content.empty();
content.html(html);
console.log('[setPlaylist] before trigger');
page.trigger('create');
//page.page();
//content.find(":jqmData(role=listview)").listview('refresh');
page.listview();
var options = {};
options.reloadPage = true;
options.dataUrl = urlObj.href;
options.transition = "slide";
$.mobile.changePage(page, options);
console.log('[setPlaylist] changepage');
location.hash = urlObj.hash;
}
所以,如果你对我做错了什么了解,请告诉我。
谢谢!
编辑:
如果我使用content.find(":jqmData(role=listview)").listview('refresh')
,则显示下一个错误
未捕获的TypeError:无法读取属性'jQuery16401444779944140464' 未定义的
似乎pagebeforechange
是两次火。真的我不知道我做错了什么。
答案 0 :(得分:0)
错误是遗漏的,因此jqm无法找到要更改的页面,并且所有错误都是为此。非常感谢Emre帮助我。