我正在处理一个名为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
事件中。