Jquery mobile – onhashchange问题
我在我的应用程序中使用$.mobile
。 我必须创建自己的路由系统。 我在hashchange
上绑定观察者,并从location.hash
提取有趣的数据。 我有一个问题 – 如果jQuery.mobile
有一个斜杠(例如从'lalal/#controller/action/param'
到'lalal/controller/action/param'
和$.mobile
说明),它会从location.hash
删除哈希符号黄色框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 ); }); }
我相信你正在与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
在包含jquery之后的html中,包括jquery.mobile-1.xyjs 之前添加: