我试图阻止 Jquery Mobile 初始化,直到页面内容被加载,但我没有得到想要的结果。该项目是一个简单的问题/答案测验。在我的 HTML 文档中,我有 3 个容器 div[data-role=page]:
div[data-role=page]#pg_title
div[data-role=page]#q0
div[data-role=page]#result
我的 document.ready() 解析一个外部 JSON 文件以将内容加载到这些页面,将 #q0 复制到测验中的问题数。最终结果是这样的:
div[data-role=page]#pg_title
div[data-role=page]#q0
div[data-role=page]#q1
div[data-role=page]#q2
div[data-role=page]#q3
div[data-role=page]#q4
div[data-role=page]#result
在我的文件头中,我有:
<script>
$(document).bind("mobileinit", function () {
$.mobile.autoInitializePage = false;
});
</script>
<script src="js/quiz.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
http://jquerymobile.com/demos/1.1.0/docs/api/globalconfig.html说要在加载 Jquery Mobile 之前配置设置,我已经这样做了。在 quiz.js 结束时,我调用了初始化页面:
$(document).ready(function(){
// ... all the code to load JSON quiz content is here
$.mobile.initializePage();
});
我的问题是,当我从标题页进入第一个问题页时,我看到所有问题同时出现。呈现的 HTML 如下所示:
<div data-role="page" id="q0" class="pg_type_question ui-page ui-body-c ui-page-active" data-title="Quiz Title" data-url="q0" tabindex="0" style="min-height: 826px; ">...</div>
<div data-role="page" id="q1" class="pg_type_question ui-page ui-body-c ui-page-active" data-title="Quiz Title" data-url="q0" tabindex="0" style="min-height: 826px; ">...</div>
<div data-role="page" id="q2" class="pg_type_question ui-page ui-body-c ui-page-active" data-title="Quiz Title" data-url="q0" tabindex="0" style="min-height: 826px; ">...</div>
<div data-role="page" id="q3" class="pg_type_question ui-page ui-body-c ui-page-active" data-title="Quiz Title" data-url="q0" tabindex="0" style="min-height: 826px; ">...</div>
<div data-role="page" id="q4" class="pg_type_question ui-page ui-body-c ui-page-active" data-title="Quiz Title" data-url="q0" tabindex="0" style="min-height: 826px; ">...</div>
在 document.ready() 之后但在 mobile.initializePage 被调用之前,HTML 呈现为:
<div data-role="page" id="q1" class="pg_type_question" data-title="Quiz Title">...</div>
<div data-role="page" id="q2" class="pg_type_question" data-title="Quiz Title">...</div>
<div data-role="page" id="q3" class="pg_type_question" data-title="Quiz Title">...</div>
<div data-role="page" id="q4" class="pg_type_question" data-title="Quiz Title">...</div>
<div data-role="page" id="q5" class="pg_type_question" data-title="Quiz Title">...</div>
我不明白为什么每个问题页面都使用“q0”的数据 URL 变得活跃。
在此先感谢您的帮助!