javascript - Jquery Mobile - onhashchange 问题

标签 javascript jquery jquery-mobile hashchange

我在我的应用程序中使用 $.mobile。我必须创建自己的路由系统。 我在 hashchange 上绑定(bind)观察者,并从 location.hash 中提取有趣的数据。 我有一个问题 - jQuery.mobilelocation.hash 中删除哈希符号,如果它有一个斜杠(例如来自 'lalal/#controller/action/param ''lalal/controller/action/param'$.mobile 在黄色框中显示 Error Loading Page

我首先尝试解除绑定(bind)现有的“hashchange”,但随后页面没有自动加载(我需要的)。

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

__construct: function() {   

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

        });  
    }

最佳答案

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

$(document).on('mobileinit', function () {
    $.mobile.pushStateEnabled = false;
});

在此处查看文档(注意“pushState 插件”部分):http://jquerymobile.com/demos/1.0rc3/docs/pages/page-navmodel.html

关于javascript - Jquery Mobile - onhashchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158591/

相关文章:

Jquery flash/用 css 改变边框颜色

jquery - 更有效的建表方法?

android - jquery 移动数字小键盘 phonegap

javascript - jQuery Mobile 缩略图图像对齐

javascript - jQuery Mobile 在页面转换时闪烁

javascript - 以数组形式访问javascript中的python列表

javascript - 如何将 View 加载到变量中?

php - 滚动时ajax加载器div没有出现在全屏上

javascript - 如何使用 jQuery 缓慢删除元素?

javascript使用delete还是依赖垃圾回收?