Jquery mobile - onhashchange问​​题

abu*_*uba 1 javascript jquery jquery-mobile hashchange

$.mobile在我的应用程序中使用.我必须创建自己的路由系统.我绑定观察者,hashchange并从中提取有趣的数据location.hash.我有一个问题- jQuery.mobile将删除井号location.hash从它是否有一个斜杠(如'lalal/#controller/action/param''lalal/controller/action/param'$.mobile黄色盒子说Error Loading Page.

我试图首先取消绑定现有的"hashchange",但是页面没有自动加载(我需要的).

如何防止哈希的更改,但是jQuery必须仍然自动加载页面(例如,通过在元素中声明的ID data-role='page')?.下面是我的路由器类的一个片段:( Router.load不会改变location.hash)

__construct: function() {   

        var that = this; 
        $( window ).bind( "hashchange" , function( e ) {
            //e.stopImmediatePropagation()
            that.load( this.location.hash  ); 

        });  
    }
Run Code Online (Sandbox Code Playgroud)

Jas*_*per 6

我相信你正在反对在Beta 3中添加的jQuery Mobile中的"pushState"插件(我相信).您可以使用以下代码禁用此插件(在包含jQuery Mobile JavaScript文件之前使用):

$(document).on('mobileinit', function () {
    $.mobile.pushStateEnabled = false;
});
Run Code Online (Sandbox Code Playgroud)

在这里查看文档(请注意"pushState插件"部分):http://jquerymobile.com/demos/1.0rc3/docs/pages/page-navmodel.html