我正在开发一个使用jquerymobile fb swipe方法的应用程序,dunno位于显示原始位置的位置。然而。我最大的问题是它需要一个链接并动态尝试通过某种类型的ajax get方法加载页面。这不是我想要的;我希望在任何其他网站上点击正常链接的页面加载,但我不知道如何禁用它,文档使它看起来像是可能的,但我不确定自己。
这是唯一的自定义JS,据我所知,这个模板的一部分
$(document).bind("mobileinit", function(){
$.mobile.pushStateEnabled = true;
});
$(function(){
var menuStatus;
// Show menu
$("a.showMenu").click(function(){
if(menuStatus != true){
$(".ui-page-active").animate({
marginLeft: "175px",
}, 300, function(){menuStatus = true});
return false;
} else {
$(".ui-page-active").animate({
marginLeft: "0px",
}, 300, function(){menuStatus = false});
return false;
}
});
$('#menu, .pages').live("swipeleft", function(){
if (menuStatus){
$(".ui-page-active").animate({
marginLeft: "0px",
}, 300, function(){menuStatus = false});
}
});
$('.pages').live("swiperight", function(){
if (!menuStatus){
$(".ui-page-active").animate({
marginLeft: "175px",
}, 300, function(){menuStatus = true});
}
});
$('div[data-role="page"]').live('pagebeforeshow',function(event, ui){
menuStatus = false;
$(".pages").css("margin-left","0");
});
// Menu behaviour
$("#menu li a").click(function(){
var p = $(this).parent();
if($(p).hasClass('active')){
$("#menu li").removeClass('active');
} else {
$("#menu li").removeClass('active');
$(p).addClass('active');
}
});
$("#b_done").click(function(){
$("#menu li").removeClass('active');
$("#menu li:first-child").addClass('active');
});
// Tabs
$('div[data-role="navbar"] a').live('click', function () {
$(this).addClass('ui-btn-active');
$('div.content_div').hide();
alert($(this).attr('data-href'));
//$('div#' + $(this).attr('data-href')).show();
//window.location = $(this).attr.('data-href');
});
});
答案 0 :(得分:1)
无法在jquery mobile中找到任何更改页面的特定代码。
查看jquery mobile ajax行为文档:http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html
通常在没有Ajax的情况下加载page / html,
要么放置rel = external,要么将数据-ajax = false放在你的Anchor标签中。
像
<a href="/anotherPage" rel='external'>
答案 1 :(得分:1)
您可以在移动初始化
中关闭Ajax加载$(document).bind("mobileinit", function(){
$.mobile.ajaxEnabled = false;
});