PhoneGap中文网

 找回密码
 立即注册

Jquery Mobile中文章跳转传值如何实现

2013-8-2 21:06| 发布者: admin| 查看: 13361| 评论: 1

摘要: 在动态页面中如php中我们是很容易实现页面的跳转传值的 如 http://www.phonegap100.com/index.php?mod=index 但是 Jquery Mobile中都是使用的静态页面我们如何实现呢,下面与大家一起分享 Jquery Mobile中文章跳转 ...
       在动态页面中如php中我们是很容易实现页面的跳转传值的  如    http://www.phonegap100.com/index.php?mod=index 
但是 Jquery Mobile中都是使用的静态页面我们如何实现呢,下面与大家一起分享 Jquery Mobile中文章跳转传值如何实现


实现原理:

通过$(document).bind("pagebeforechange", handleChangePage);来绑定pagebeforechange事件的触发函数handleChangePage(e,data)。页面跳转时pagebeforechange事件会被触发两次,第一次触发时data.toPage是到达页面的url,类型是string,第二次触发时data.toPage不是String类型 ,此时可以获取到达页面的信息。为了获得到达页面的信息,所以我们需要获得第二次触发时候的event,可以简单通过if(typeof data.toPage != “string”)来判断,这时候可以用e.target.baseURI来获取到达页面的URI,并通过这个URI来解析出附带的参数信息。然后通过e.target.find(“pageId”)来获取到达页的相应组件,并进行相应的操作。

核心代码:
function beforechange(e, data) {
		if (typeof data.toPage != "string") {
			var url = $.mobile.path.parseUrl(e.target.baseURI)
			var re = 'details.html';
			if (url.href.search(re) != -1) {
				var page = $(e.target).find("#detailsPage");
				var d = data.options.data;
				var data = getUrlParam(url.href);
				page.find("#nameDiv").html(decodeURIComponent(data[0]));
				page.find("#timeDiv").html(decodeURIComponent(data[1]));
				page.find("#contentDiv").html(decodeURIComponent(data[2]));
				
				
			}
		}
	}
解析URL参数的js方法:


	function getUrlParam(string) {  
		var obj =  new Array();  
			if (string.indexOf("?") != -1) {  
				var string = string.substr(string.indexOf("?") + 1); 
				var strs = string.split("&");  
				for(var i = 0; i < strs.length; i ++) {  
					var tempArr = strs[i].split("=");  
					obj[i] = tempArr[1];
				}  
			}  
			return obj;  
	}

Jquery Mobile中文章跳转传值案例下载:

changePageWithParam.zip









头晕

难过

扯淡

不解

搞笑

支持
2

超赞

欠扁

刚表态过的朋友 (2 人)

相关阅读

发表评论

最新评论

引用 lianruihong 2014-2-26 09:48
请问一下,转场后想发起ajax请求,应该在什么事件下写 pageinit,mobileinit 这两个事件都是在刷新页面之后才执行的

查看全部评论(1)

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-4-25 22:19 , Processed in 0.037818 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部