jquery mobile页面跳转后,必须重新刷新页面js方可有效

最近在做个项目,用到jquery
mobile,很陌生对他,问题一个个的来,那就要一个个解决,找了一天这个问题,放可明白:
首先明白jqm里面页面跳转默认都是通过ajax请求的,必须重新刷新页面js方可有效,也就是js没有起作用,并不是js本身的问题,下面说说解决方法:

在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA
=>
pageB),在pageB中引用的JS并未成功运行。因为,JQM并为将整个页面加载当前的dom中,仅将data-role="page"元素加入当前的dom中。
因此,在<head>中引入的外部JS文件,以及<page>标签外的JS均不能正常运行,刷新页面后方可加载成功。 

鉴于JQM这个特性不太可能主动更改,可以用两种方法来解决
一是在index页面中,注册所有需要使用的外部JS文件,或者使用母版页面来统一;
二是将页面内部JS写在data-role="page"标签下,这样无论页面怎样跳转,均可以运行。

怎样,解决了吧,!!@

时间: 2024-12-28 12:53:10

jquery mobile页面跳转后,必须重新刷新页面js方可有效的相关文章

黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法

问题描述: 用ajax跳转的时候,从a.html跳转到b.html后,b.html的css以及js都失效了. 解决办法1: 将所有的css以及js全部放在div内. 原理: 由于jqm的ajax跳转的时候,只会把b.html中内的内容加载进dom,而外的代码都不会加载,所以导致在外的js和css都失效了. 解决办法1: 在header设置全局属性. <script>$.mobile.ajaxEnabled = false;</script> 原理: 全局禁止jqm使用ajax

Jquery 实现点击一个页面跳转后在另外一个页面显示指定位置

<script> $(function(){ var isTarget = '<?php echo $_GET['target']; ?>'; if (isTarget != "") { var body = $('body') var target = $('#content'); // 要显示的位置标签id body.animate({ scrollTop:target.offset().top - body.offset().top + body.scro

servletResponse 实用的页面跳转技术和定时刷新技术

package response; import java.io.IOException;import java.util.Random; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class

Android 学习心得 页面跳转,不显示新页面信息

原因: 1.新页面的Activity中,public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_httpclintapp); } 红色部分写错了: 2.AndroidMenifest.xml文件中没有添加 <activity android:name="com.Socket.Clint.类名"/>

jquery mobile页面跳转后,JS无效的原因及解决方案

最近在做个项目,用到jquery mobile,很陌生对他,问题一个个的来,那就要一个个解决,找了一天这个问题,放可明白:首先明白jqm里面页面跳转默认都是通过ajax请求的,必须重新刷新页面js方可有效,也就是js没有起作用,并不是js本身的问题,下面说说解决方法:在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行.因为,JQM并为将整个页面加载到当前的dom中,仅将data-role="page"

jquery mobile页面跳转后js不执行的问题

最近用jqueryMobile 被这个问题卡了一下 为了实现在移动设备上的无缝客户体验,jQuery Mobile默认采用AJAX的方式载入一个目的链接页面.因此,当在浏览器中点击一个链接打一个新的页面时,jQuery Mobile接收这个链接,通过AJAX的方式请求链接页面,并把请求得到的内容注入到当前页面的DOM里.另外还需要确保请求的页面url唯一标识的. 这样的结果就是用户交互始终保存在同一个页面中.新页面中的内容也会轻松的显示到这个页面里.这种平滑的客户体验相比于传统打开一个新的页面并

关于使用struts2时子窗体页面跳转后在父窗体打开的问题以及Session过期后的页面跳转问题

问题1:传统的系统界面,iframe了三个页面,上,左,右,用户点击注销的按钮在上面得top.jsp里面,方法:<a href="../adminAction/admin_logout.action">退出系统</a>退出之后你会发现,只是刷新了top.jsp上面那个iframe,其他两个还在,如何解决? 解决办法: target="_top",就就是它.加多这个变成:<a href="../adminAction/admin

多次页面跳转后pop回主界面的问题

最近写代码的时候出了点BUG, 查阅资料后终于解决了. 问题原因大概是: 项目中所有的viewController都是继承自一个封装好的viewController. navigationbar, navigationbaritem所有的方法都是大神自己写的.所以pop回主界面不知道怎么的会跳转到登录界面, 下面说我解决的方法: 比如先从A界面跳到B界面,再从B界面跳到C界面,最后需要从C界面直接跳转到A界面,在这里我讲讲解直接从C界面跳转到A界面的方法.在iOS开发中,我们通常用得最多的页面跳

.net MVC 页面页面跳转后提示消息实现办法

mvc在RedirectToAction之后,会清理掉ViewData中的所有数据,因此通过ViewData给下一个页面传递提示消息不太好,如果是通过参数方式传递,刷新跳转后的页面时,消息还会再次提示,也不太友好. 因此,得找个别的路子来实现此功能. 查阅一堆资料后得知,此类效果的实现大概有以下一个思路: 1.存到Session 2.存到Cookie 3.传参数 4.TempData 前三种都是非常容易就可以想到的,第四种是微软MVC推荐的实现方式.TempData是放到Session里面的,只