Please see this jsbin test page that illustrates the issue
我有一个带有两个页面div的简单jqm页面。唯一的初始化是在$(document).on(' pageshow',function(){})内完成的;块。在块中,我初始化了一个fullcalendar.js日历。
如果我将页面加载为外部页面(菜单中的第一个链接),它会毫不费力地加载(但它不使用ajax,因此页面闪烁且没有转换)。
如果我使用链接到带有锚标记的第二页div的id的jqm约定加载页面,它会将日历div加载为没有数据的页面。
如果我然后刷新页面,则显示数据。随后使用菜单会将页面div显示为页面而不会出现问题。
我已经看过很多关于要使用的pagecontainer小部件事件的讨论,而且我知道document.ready()不是可行的方法。我已经尝试了所有可能性,我认为(pagebeforeshow,pageshow,pageinit等)演示中有更多详细信息,您可以在其中查看所有代码。如果我也需要在这里发布,我也可以这样做,但是如果你在jsbin加载测试,它会更容易看到问题。我建议在一个单独的窗口中运行它,这样你就可以刷新页面。
如果其他人已经解决了这个问题,或者知道我做错了什么,我真的很感激帮助和/或建议。
答案 0 :(得分:0)
我将所有pagecontainer事件放入我的测试jsbin代码中并逐步完成它们。 (感谢Gajotres提供有关各种pagecontainer挂钩的有用文档)。事实证明,我需要的是' pagecontainerhide'而不是pageshow,pageinit或任何其他。一旦我修改了代码以使用该事件,日历就会在页面div上正确显示,并进行转换,我不再需要点击刷新来查看加载"页面"。
由于我在那里举办了所有活动,或许其他有页面更改问题的人可以从测试页面中受益....