Я запускаю генератор динамических страниц в JQM и изо всех сил пытаюсь заставить его работать правильно.
Когда пользователь нажимает на ссылку, я перехватываю вызов changePage
следующим образом:
...
.on("pagebeforechange", function (e, data) {
if (typeof data.toPage === "string") {
init.parsePage(util.parseLink(data.toPage), true);
e.preventDefault();
}
})
который вызовет мой метод parsePage
, который генерирует новую страницу, инициализирует и добавляет ее в DOM следующим образом:
$(document).enhanceWithin();
$.mobile.initializePage();
// go to the new page
$.mobile.changePage("#" + config.id);
Моя проблема в том, что использование e.preventDefault()
и новый вызов changePage снова попадут в мой прослушиватель pagebeforechange
и зациклятся навсегда. Я также попытался не препятствовать первоначальному вызову страницы изменения и просто изменить параметры data.toPage
, но сборка моей страницы занимает «слишком много времени», и нет возможности отложить JQM до тех пор, пока страница не будет собрана.
Вопрос:
Как мне вызвать новый переход, который не "улавливается" моим слушателем или лучше, как мне отложить переход JQM, пока все не будет готово (промисы было бы неплохо иметь здесь :-)
Спасибо!
/
. - person frequent   schedule 24.10.2013