【发布时间】:2011-11-16 20:59:54
【问题描述】:
我在我的应用程序中使用$.mobile。我必须创建自己的路由系统。
我在hashchange 上绑定观察者,然后从location.hash 中提取有趣的数据。
我有一个问题 - 如果 location.hash 有斜杠,jQuery.mobile 会从 location.hash 中删除井号(例如,从 'lalal/#controller/action/param' 到 'lalal/controller/action/param' 和 $.mobile 在黄色框中表示 Error Loading Page。
我首先尝试取消绑定现有的“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 );
});
}
【问题讨论】:
-
您运行的是什么版本的 jQM 和 jQuery?就像在 RC1 和 RC2 中一样,那里有一些对 hashchange 的错误修复
-
你是指最新的jQuery 1.7 和jQueryMobile RC3 吗?需要注意的是 jQM 还不支持 jQuery 1.7,所以 1.6.4 是你应该运行的版本
标签: javascript jquery jquery-mobile hashchange