我有一个JQM应用程序,并且我正在合并Backbone。 由于我的初始JavaScript代码是巨大的,我只提取我认为是有问题的。 我下面的建议,并呼吁在这里引用步骤:从http://coenraets.org/blog/2012/03/using-backbone-js-with-jquery-mobile/
我有一个大问题,这是行为
- JQM-config.js,问题就来了从这个代码:
var r = Backbone.Router.extend router: ... "page": "pageDisplay" ... pageDisplay: function(){ c = new AView(); // Backbone.View ...fetch() data... $(c.el).page(); // Call to JQM to add its extra stuff; seems done correctly $.mobile.changePage("#" + c.id, {changeHash: false}); // line 50 }
当按照
<a href="#page" >
的链接,我如预期正确处理 页面“#page”。但一旦发生,如果我点击一个refresh
,这是间接地由同一路由器的规则重新处理,我结束了以下错误:Uncaught TypeError: Cannot call method 'trigger' of undefined
我下载了jQuery Mobile的开发代码,并观察到这一点:
// JQM1.1.2 - Line #3772 Show a specific page in the page container.
$.mobile.changePage = function(toPage, options) { if (isPageTransitioning) { pageTransitionQueue.unshift(arguments); return; } var settings = $.extend({}, $.mobile.changePage.defaults, options); // Make sure we have a pageContainer to work with. settings.pageContainer = settings.pageContainer || $.mobile.pageContainer; // Make sure we have a fromPage. settings.fromPage = settings.fromPage || $.mobile.activePage; // Line #3788 var mpc = settings.pageContainer, // Line #3789 pbcEvent = new $.Event("pagebeforechange"), triggerData = { toPage: toPage, options: settings }; // Let listeners know we're about to change the current page. mpc.trigger(pbcEvent, triggerData); // Line #3794
Uncaught TypeError
由行#3794引起,因为mpc
是undefined
。 因此,从JQM,在Chrome检查员中,我还可以看到settings.fromPage
是undefined
和settings.pageContainer
是undefined
。我想象一下,JQM无法对fromPage进行假设,因此无法继续刷新。我在$ mobile.changePage()上尝试过的所有选项都没有成功。我没有想法。UPDATE /网上用最小的现场重现该问题: apartindex,access the website with the bug
任何帮助将不胜感激。
这似乎是关于如何启动一个页面的骨干网页和jquery移动页面刷新... –
不知道...是否有可能获得一个链接到现场项目? –
我应该能够删除大量的东西,并把它放在网上,明天之前,请继续关注。 –