jquery Mobile—js不加载

本文介绍了解决在使用jQuery Mobile开发时遇到的问题:页面跳转后,新页面中的JavaScript无法正常运行的情况。提供了三种解决方案,包括调整JS位置、禁用AJAX加载以及统一注册外部JS文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做一个移动端项目,据说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文件,或者使用母版页面来统一;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值