Я работаю в файле с именем action.js
, чтобы управлять всеми действиями в моем приложении. В этом файле я фиксирую событие pagebeforechange
.
Это фрагмент кода из моего action.js:
$(document).bind( "pagebeforechange", function( e, data ) {
if (typeof data.toPage === 'string') {
//This is an action
var urltomatch = data.toPage.match(/action\/(.*)/);
var action = null;
if (app.isArray(urltomatch) && urltomatch.length > 0) {
action = urltomatch[1];
}
if (app.isNullOrUndefined(action)) {
return true;
}
switch(action) {
case 'login':
//Login action
case 'logout':
if (app.logout()) {
$.mobile.changePage("pg/static/login");
}
e.preventDefault();
break;
}
}
});
Моя проблема, когда я хочу сделать $.changePage
внутри события pagebeforechange
, потому что это не работает.
Есть ли способ сделать это?
Я хочу сделать это, чтобы создать функцию для переадресации в любом месте
function forward(to, options){
$.mobile.changePage(to, options);
}
Я только что нашел способ сделать это, изменив значение data.toPage
:
data.toPage = "pg/static/login";
Но проблема в том, что я хочу вызывать функцию forward
где угодно, а не только в pagebeforechange
событии.