Я пытаюсь запустить свою функцию panelTrans из этой привязки события:
$(document).on( "pagebeforechange", function( e, data ) {
console.log("fired");
// cond
if ( data.options.pageContainer != $.mobile.pageContainer ) {
if ( self.options.$infinity != "block" ) {
// set a blocker to avoid infinite loop
self.options.$infinity = "block"
// stop JQM
e.preventDefault();
e.stopPropagation();
// fire panel transition
self.panelTrans(e, data);
}
}
});
Проблема в том, что функция panelTrans запускает changePage, который вызывает другое событие pagebeforechange,поэтому я создаю начальный цикл.Я пытаюсь заблокировать это с помощью опции inifite loop.Однако, это, кажется, не блокирует "быстро" достаточно, потому что я все еще получаю несколько "итераций / циклов" = консоль регистрирует 3-5 "запущенных".Если я переместил warnDefault за пределы операторов if, это предотвратит все, что также не работает.
Вопрос:
Есть ли лучший способ справиться с этим?Мне нужно перехватить changePage до того, как Jquery Mobile приступит к перезаписи параметров changePage и запустить измененный changePage для выполнения Jquery Mobile.
Спасибо за помощь!