event.preventDefault()在pagebeforeshow下无法正常工作

时间:2013-12-31 10:15:46

标签: jquery mobile

在我的应用程序中,我有一个使用锚链接声明的按钮

<a href="#page-newApp" id="newBttnImg" data-role="button" class="customIcon" data-theme="b" data-transition="pop"><font size="5">New Application</font></a> 

单击此按钮时,应该加载id为page-newApp的页面,该页面是按钮应该导航到的默认页面的id。

但是,我想对localStorage对象中的某个键执行检查,如果该键不存在,我希望它导航到另一个页面。

我已经在page-newApp的pagebeforeshow事件下实现了一些代码。我试图在这个事件中检查所需的条件。这会导航我到我想要的不同页面,但会简要显示page-newApp页面。

我已尝试在pagebeforeshow事件中使用event.preventDefault,但这似乎不起作用。

$(document).on('pagebeforeshow', '#page-newApp', function(event, data){

if(localStorage.getItem('agentSettings') == null || localstorage.getItem('agentSettings') == undefined){

    event.preventDefault();
    $.mobile.changePage("#page-agent-profile");
    return false;
}
currentPage = 0;

$('#mainNavigation a').live('click', function () {
    return false;
});
$('#mainNavigation a').live('touchstart', function () {
    return false;
});

//some more code here

goToPage();

});

0 个答案:

没有答案