jQueryMobile停止页面转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQueryMobile停止页面转换相关的知识,希望对你有一定的参考价值。

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

您可以在移动init中关闭Ajax加载

$(document).bind("mobileinit", function(){
     $.mobile.ajaxEnabled = false;
});
另一答案

无法在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'>

以上是关于jQueryMobile停止页面转换的主要内容,如果未能解决你的问题,请参考以下文章

如何在切换片段时停止 AsyncTask?

在页面之间导航后如何在jquery mobile中停止重复数据

jQuery mobile 停止在同一页面中使用 iFrame - Phonegap

带有边距和页面转换器的片段内的 ViewPager 无法正确呈现

jQuery Mobile:.animate(scrollTop) 在修复页面转换后不起作用

如何使用 Jquery 停止所有音频播放