Html 1:第一页
<script src="js/jquery-1.9.1.min.js"></script>
<script>
$(document).bind("mobileinit", function(){
$.mobile.defaultPageTransition = "slide";
$.mobile.linkBindingEnabled =true;
$.mobile.ajaxEnabled= false;
});
</script>
<script src="js/jquery-mobile.1.4.2.min.js"></script>
<script>
$(document).on("pagecreate",function(){
$(".anchor").click(function(){
$( ":mobile-pagecontainer" ).pagecontainer( "change", "second.html" , { transition:"pop"});
});
});
</script>
Html 2:第二页
<script src="js/jquery-1.9.1.min.js"></script>
<script>
$(document).bind("mobileinit", function(){
$.mobile.defaultPageTransition = "slide";
$.mobile.linkBindingEnabled =true;
$.mobile.ajaxEnabled= false;
});
</script>
<script src="js/jquery-mobile.1.4.2.min.js"></script>
<script>
$(document).on("pagecreate",function(){
alert("Instead of alert im going to use ajax ");
});
问题:
我尝试使用pagecontainer将页面从第一页更改为第二页,并且它正常工作。 问题是 我需要使用ajax和pagecreate在第二页中加载一些内容,pageshow在更改页面时没有任何工作但如果我单独运行第二页它正在工作...... 提前致谢
答案 0 :(得分:4)
为了能够解决这个问题,您需要了解jQuery Mobile页面处理的工作原理,并且您无法解决此问题。
当jQuery Mobile处理页面时,只有第一个 HTML 文件完全加载到 DOM 中,所有中间文件仅部分加载。当我说部分时,我的意思是 HEAD 将被剥离,只会加载FIRST data-role =&#34; page&#34; 。
因此,如果您有2个页面,例如,假设第一个名称为 main.html ,第二个名称为 second.html ,则拉丁说两个hava 5 data-role =&#34; page&#34; div容器。
main.html 中的所有页面都会在应用初始化期间加载到DOM中,但是当您将页面更改为 second.html 时,只会先将数据 - role =&#34; page&#34; div容器将被加载到 DOM 中,其他所有内容都将被丢弃。
详细了解 here +解决方案。