2012-02-01 114 views
1

我一直在尝试让我的主干路由工作。当我直接导航到哈希标签时,它可以工作,例如。 index.html#时间表,但在同一页上<a href="#schedule"></a>不起作用。Jquery Mobile和Backbone - 无法获得历史记录工作

我试过这两个jquery移动负载之前和之后。

$.mobile.hashListeningEnabled = false; 
$.mobile.pushStateEnabled = false; 
$.mobile.ajaxEnabled = false; 

我创建了一个路由器,并开始了骨干历史。

$(function() { 
    var router = new MVC.Router(); 
    Backbone.history.start(); 
}); 

但它只是似乎并没有钩住hashtags链接?

非常感谢您的帮助。

感谢

更新1:我发现我可以得到它的脚本中导航,但主要的问题是<a href="#schedule"></a>没有导航。我认为这一定是非常简单的事情,jquery mobile会钩住链接点击。

+0

我发现hashchange事件实际上确实有移动事件仍然大呼过瘾。 处理程序:函数(){a.mobile._handleHashChange(location.hash)} – rid00z 2012-02-01 02:41:56

+0

经过更多的探索环,我发现hashchange事件永远不会发射。它可能是一个简单的事情,就像一个页面的hashchange,即使没有这个id的元素? – rid00z 2012-02-01 03:06:53

+0

我一直玩弄更多,并调试jQuery的移动和骨干,我发现我甚至无法调用router.navigate(“作业”)。这是我的头在:(。 – rid00z 2012-02-01 03:39:42

回答

1

我认为与jquery mobile进行斗争以获得与骨干网的路由工作毫无意义,如果这意味着禁用auto-ajax和其他有用的功能。

看看jquery mobile router,它不完全是一个backbone.router克隆,但它可以用来在jquery移动环境中完全替代它。

我的2美分

0

尝试仅仅用:

$.mobile.linkBindingEnabled = false;