Я следую примеру 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')
, он показывает следующую ошибку
Uncaught TypeError: Невозможно прочитать свойство 'jQuery16401444779944140464' из неопределенного
И кажется, чтоpagebeforechange
это огонь дважды.На самом деле я не знал, что я делаю неправильно.