我有一个backbone.js / jquery移动应用:
当我访问mydomain.com/#map时,jquery执行"/“,然后加载#map。
因为"/“是首先被触发的,所以所有的backbone.js脚本都会被加载,包括我的map-controller.js .js ("map":"functionForMapRoute")中的backbone.js路由。因为URL包含/#map,所以在jquery mobile呈现dom之前,backbone.js路由"map“就会被触发。
所以"functionForMapRoute“不能在div上操作,因为此时DOM还没有完全加载。
如何确保"map“路由在DOM完全加载之前不会被触发?
发布于 2011-08-18 08:57:19
使用更多与jquery mobile集成的工具,例如jquerymobile-router (你可以在github上找到它)。它取代了backbone的路由器,并将与jquery mobile和backbone.js或spine.js一起使用
发布于 2012-11-13 15:54:52
我想如果你不在主干路由器中使用"/“,它会做得很好。
例如:
使用
"category-:id": "category"而不是这个
"category/id/:id": "category"我猜这就是为什么他们在官方教程中使用相同的概念:P http://jquerymobile.com/test/docs/pages/Backbone-Require/js/routers/mobileRouter.js
"category?:type": "category"发布于 2011-08-26 03:49:53
我也遇到了同样的问题,下面是避免使用jquerymobile-router的解决方案:Backbone.js and jQueryMobile routing without hack or other router
https://stackoverflow.com/questions/6466300
复制相似问题