gpt4 book ai didi

ajax - jquery mobile 取消 pagebeforeshow 事件

转载 作者:行者123 更新时间:2023-12-01 06:02:35 25 4
gpt4 key购买 nike

在jquery mobile中,有没有办法取消在pagebeforeshow事件中显示的页面?我在 pagebeforeshow 有一些权限检查代码,如果不满足权限,我想引导用户登录页面。

$("secretpage").live("pagebeforeshow", function () {
if (permissionNotMet()) {
stopShowingPage() // <---- how?
$.mobile.changePage("#signin")
}
})

最佳答案

这并不完全是您所要求的,但您可以重新设计代码流程,以使这对您自己来说更容易。

自行处理登录表单的提交,然后根据服务器响应将用户引导至正确的页面:

$(document).delegate('#login', 'pageinit', function () {
function loginSuccess (serverResponse) {

$.mobile.hidePageLoadingMsg();

//here you check the `serverResponse` and direct the user where they need to go
}
function loginError (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
$(this).find('form').bind('submit', function () {

$.mobile.showPageLoadingMsg();

$.ajax({ url : '<url>', data : $(this).serialize(), success : loginSuccess, error : loginError });
return false;
});
});

您还需要添加data-ajax="false"作为 <form> 的属性标记,以便 jQuery Mobile 不会为您处理提交。

关于ajax - jquery mobile 取消 pagebeforeshow 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com