我正在为学校做最后的项目,我遇到了一个让我难过的错误。我有一个jQM页面,其中包含两个div(详细内容,可排序内容),一个用于保存报告A,另一个用于保存报告B.我已将jQM哈希处理演示调整为.show()
正确的报告div和.hide()
另一个报告根据查询字符串“选择”进行div。
只要报告页面是在浏览器中物理加载的页面,这似乎就能正常工作。不幸的是,当直接加载另一个页面(通过URL)并且然后单击顶部的Reports按钮时,一旦加载报告页面就没有加载内容div(尽管控制台日志确认事件正在被触发)并且如果点击“选择报告”按钮,渲染jQueryMobile弹出窗口有一个奇怪的问题。然后,当访问任何其他页面时,会发生许多与系统正确跟踪活动页面有关的奇怪故障。
以前是否有人遇到此类问题?我希望这是一件我想念的简单事情,这让我疯了!
如果需要进一步的信息,请告诉我
答案 0 :(得分:0)
您将事件绑定到$('document')
,它会尝试搜索<document>
标记而不是文档本身。请删除它周围的引号。
此外,在您的代码中,您在页面更改时使用$(document).ready()
。但是,$(document).ready
只会在页面加载开始时触发一次(在DOM完成加载时)。您应该尝试使用pageinit
事件:
$(document).bind("pagechange", function () {
$(document).on('pageinitfunction() {
...
http://api.jquerymobile.com/pageinit/
ready
和pageinit
之间的区别是什么?
答案 1 :(得分:0)
由于我无法在合理的工作时间内解决问题,因此我重新编写了我的网页处理显示报告的方式。我创建了一个报告选项的菜单页面,该页面链接到附加了相应数据的内部页面。你可以在这里看到http://hombero.com/final-storms#page-reports
然而,对于另一组数据,我随后创建了一个动态菜单,该菜单将生成的内部页面添加到DOM,其中数据对应于菜单选项。它使用jQuery Mobile pagecreate
,pagebeforeshow
和jQuery click
事件。
对于有兴趣的人,您可以在http://hombero.com/final-storms/#page-tracks
看到它的实际效果