我正在使用 JQuery Mobile 1.2 和 php 开发 Web 应用程序。在个人资料页面上,我有一个弹出窗口要求用户确认注销。我想要做的是用单击事件拦截该按钮,以通过 ajax 请求处理注销。
我的所有项目页面中都包含一个 custom.js 文件。该应用程序在帐户页面中加载。我知道它正在加载并在 ajax 导航中工作。当我在 custom.js 中包含此代码时:
$("#perfil").live('pageshow',function(event){
alert('This page was just enhanced by jQuery Mobile!');
});
当显示个人资料页面时,我会收到警报。问题是点击功能。
当我包括这个时:
$("#perfil").live('pageshow',function(event){
alert('This page was just enhanced by jQuery Mobile!');
$('#logoutButton').click(function(){
$('#output').html('Logging Out...');
$.get("api/logout",function(data){
if(data.success) {
window.location = "index"
}
else{
$('#output').html('Logout failed. Try again');
}
}, "json");
});
});
行为很奇怪。当我从主页导航到个人资料页面时,我收到了警报。但是按钮没有反应。但是,当我刷新(或最初从配置文件页面加载应用程序)时,按钮行为正确并运行 javascript 注销功能。
这是html按钮的代码:
<a id="logoutButton" data-role="button" data-icon="check"
data-inline="true" data-theme="e">Si, finalizar.</a>