更改页面后,Jquery移动无法加载样式

时间:2016-04-19 12:26:06

标签: javascript jquery html jquery-mobile

使用jquery mobile创建移动应用程序但是在通过changePage加载外部页面(loggedin.html)之后,外部页面中的javascript文件没有加载,但只有在刷新页面后才这样做(loggedin.html ...通过加载changePage)。如何在没有页面刷新的情况下加载外部脚本

我有两套文件: index.html和loggedin.html。

CODE:

1.index.html

<body>

<div data-role="page" id="indexpage">
  <div data-role="content">
   <a href=""  id="next" data-role="button">Load page 2</a>
 </div>  
</div>

<script src="custom/scripts/index.js" type="text/javascript" ></script>  
</body>

脚本(index.js)

$('document').ready(function(){
$('#next').click(function(){
$.mobile.changePage('loggedin.html')

});
});

2.Loggedin.html

<body>
 <div data-role="page" id="loggedin">
  <div data-role="content">
  You are in
 </div>  
</div>
<script src="custom/scripts/loggedin.js" type="text/javascript" ></script> 
</body>

脚本(loggedin.js)

$('document').ready(function(){

$('document').on("pageshow","#loggedin",function(){

console.log('loaded');

});
});

2 个答案:

答案 0 :(得分:1)

基于此来源:http://demos.jquerymobile.com/1.3.2/faq/scripts-and-styles-not-loading.html

  

构建jQuery Mobile站点时最简单的方法是在每个页面的头部引用同一组样式表和脚本。如果您需要加载特定页面的特定脚本或样式,我们建议将逻辑绑定到pageinit事件(详细信息如下),以便在创建特定页面时运行必要的代码(可以通过其id属性或数字来确定)其他方式)。

答案 1 :(得分:0)

这个问题的解决方案是:在下一页(loggedin.html)上。那就是将脚本放在(数据角色内容/页脚)之后的页面上

T = U &