jquery Mobile—js不加载

来源:互联网 发布:易云数据vps 编辑:程序博客网 时间:2024/05/17 09:16

最近在做一个移动端项目,据说jquery mobile很好用,但是一接触直接来了两个闹心的异常,坎坷的弄了好久才解决,整理出来共享给大家

1.在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行

原因:JQM并为将整个页面加载到当前的dom中,仅将data-role="page"元素(或body)加入当前的dom中。所以只有第一个页面<head>标签内的js生效

其它页面<head>中引入的外部JS文件,以及<page>标签外的JS均不能正常运行,刷新页面后方可加载成功。
解决方法
鉴于JQM这个特性不太可能主动更改,可以用两种方法来解决
一:将页面内部JS写在data-role="page"标签下,这样无论页面怎样跳转,均可以运行。
$.mobile.ajaxEnabled = false;设置不使用ajax方式加载页面。当然有很多方法,这个会在全局禁用掉ajax加载。也可以在A标签可以可以加上data-ajax=false属性。

把下面代码入在jquery.mobile.js前面 

  1. $(document).bind('mobileinit',function() {   
  2.     jQuery.mobile.ajaxEnabled = false;   
  3. }); 

三:是在index页面中,注册所有需要使用到的外部JS文件,或者使用母版页面来统一;


0 0