jQueryMobile停止页面转换

时间:2012-07-06 06:57:21

标签: javascript jquery html jquery-mobile

我正在开发一个使用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');
            });
});

2 个答案:

答案 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;
});