jquery mobile $.mobile.showpageloadingmsg() не работает
Я хочу показать загрузочное сообщение во время перехода страницы в jQM и магистрали. Но showPageLoadingMeassage не работает. Вот мой код: collection.js
findById : function(artistId, page, limit, sort) {
$.mobile.showPageLoadingMsg('a', 'Loading......', false);
var self = this;
if (limit == undefined) {
limit = 10;
}
$.mobile.showPageLoadingMsg('a', 'Loading......', false);
console.log("hello");
$.ajax({
type: "GET",
url: siteURL + 'artists/artist_detail/artist_id' + artistId + '.json',
}).done(function(msg) {
var response = JSON.parse(msg);
if (response.status == true) {
var dataArray = response.data;
console.log(dataArray);
self.reset(dataArray);
if (self.length > 0) {
$.mobile.hidePageLoadingMsg();
}
//return dataArray;
} $.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, 'Sorry! No records found', true);
setTimeout(function() {
$.mobile.hidePageLoadingMsg();
}, 1500);
}
});
}
где я ошибаюсь?
Отредактировано: работает, когда для поиска страницы:
... findByTitle : function(keyword, genre, language, page, limit, sort, collection, fan, featured) {
//~ console.log(page);
var self = this;
if (limit == undefined) {
limit = 10;
}
$.mobile.showPageLoadingMsg('a', 'Searching......', false);
$.ajax({....
2 ответа
Решение
Нашел ответ на самом стеке потока - jQuery Mobile - Проблемы с настройкой showPageLoadingMsg для работы с pagebeforeshow или pagebeforeceate. Это говорит о том, что иногда jQM не добавляет класс ui-loading в тело, поэтому мы должны сделать это вручную.
$('body').addClass('ui-loading');
$.mobile.showPageLoadingMsg('a', 'Searching......', false);
и при этом скрывая загрузку сообщения:
setTimeout(function() {
$('body').removeClass('ui-loading'); //remove class
$.mobile.hidePageLoadingMsg();
}, 1000);
Эта функция также устарела, и в текущих версиях ее нет вообще.