jQuery_mobile页面跳转事件学习
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
<script src="http://code.jquery.com/jquery-1.8.3.min.js">
</script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
console && console.log($(this).attr('id') + "-document ready执行");
});
$(document).on('pagecreate', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + " - pagecreate!!");
});
$(document).on('pagebeforecreate', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + " - pagebeforecreate!!");
});
$(document).on('pagebeforeshow ', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + "-pagebeforeshow执行");
});
$(document).on('pageshow', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + "-pageshow执行");
});
$(document).on('pageinit', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + "-pageinit执行");
});
$(document).on("pagebeforechange", function(e, data){
console && console.log($(this).attr('id') + "-pagebeforechange!!");
});
$(document).on('pagechange', function(e, data){
console && console.log($(this).attr('id') + "-pagechange!!");
});
$(document).on('pagebeforehide', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + " - pagebeforehide!!");
});
$(document).on('pageremove', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + " - pageremove!!");
});
$(document).on('pagehide', '[data-role="page"]', function(){
console && console.log($(this).attr('id') + " - pagehide!!");
});
$(document).on('pagebeforeload', '[data-role="page"]',function(){
console && console.log($(this).attr('id')+"-pagebeforeload!!");
});
$(document).on('pageload', '[data-role="page"]',function(){
console && console.log($(this).attr('id')+"-pageload!!");
});
</script>
</head>
<body>
<!--页面一-->
<div data-role="page" id="pageone" data-theme="e">
<div data-role="header">
<h1>header</h1>
</div>
<div data-role="content">
<p>
content
</p>
<a href="#pagetwo" data-role="button">pageone-button</a>
</div>
<div data-role="footer">
<h1>footer</h1>
</div>
</div>
<!--//页面二-->
<div data-role="page" id="pagetwo" data-theme="d">
<div data-role="header">
<h1>header</h1>
</div>
<div data-role="content">
<p>
content
</p>
<a href="#pagethree" data-role="button" data-rel="dialog">pagetwo-button</a>
</div>
<div data-role="footer">
<h1>footer</h1>
</div>
</div>
<!--//页面三-->
<div data-role="page" id="pagethree" data-overlay-theme="e">
<div data-role="header" data-theme="b">
<h1>header</h1>
</div>
<div data-role="content" data-theme="a">
<p>
data-overlay-theme 属性规定对话框出现在其上的页面的背景色。
</p>
<a href="#pageone">转到pageone</a>
</div>
<div data-role="footer" data-theme="c">
<h1>footer</h1>
</div>
</body>
</html>
“页面一”初次加载的顺序:
控制台打印:
undefined-pagebeforechange!!
pageone - pagebeforecreate!!
pageone - pagecreate!!
pageone-pageinit执行
pageone-pagebeforeshow执行
pageone-pageshow执行
undefined-pagechange!!
undefined-document ready执行
从页面一调到页二的执行顺序:
控制台打印结果:
undefined-pagebeforechange!!
pagetwo - pagebeforecreate!!
pagetwo - pagecreate!!
pagetwo-pageinit执行
undefined-pagebeforechange!!
pageone - pagebeforehide!!
pagetwo-pagebeforeshow执行
pageone - pagehide!!
pagetwo-pageshow执行
undefined-pagechange!!
从页面二调到页面三(是一个dialog)的执行顺序:
控制台打印结果:
undefined-pagebeforechange!!
undefined-pagebeforechange!!
pagetwo - pagebeforehide!!
pagetwo - pagehide!!
undefined-pagechange!!
从页面三回到页面一的执行顺序:
控制台打印结果:
undefined-pagebeforechange!!
undefined-pagebeforechange!!
pageone-pagebeforeshow执行
pageone-pageshow执行
undefined-pagechange!!
再次从页面一到页面二的执行顺序:
控制台信息:
undefined-pagebeforechange!!
undefined-pagebeforechange!!
pageone - pagebeforehide!!
pagetwo-pagebeforeshow执行
pageone - pagehide!!
pagetwo-pageshow执行
undefined-pagechange!!
再次从页面二到页面三的顺序:
控制台信息:
undefined-pagebeforechange!!
undefined-pagebeforechange!!
46pagetwo - pagebeforehide!!
54pagetwo - pagehide!!
41undefined-pagechange!!
再次从页面三回到页面一的顺序:
控制台信息:
undefined-pagebeforechange!!
undefined-pagebeforechange!!
pageone-pagebeforeshow执行
pageone-pageshow执行
undefined-pagechange!!
总结:
每个页面第一次加载的时候会调用:pagebeforecreate , pagecreate , pageinit方法对其完成创建和初始化;
在三个方法只调用一次,下次跳转显示的时候因为页面已经创建了,所以只会调用pagebeforeshow,pageshow,完成显示。
jQuery_mobile页面跳转事件学习的更多相关文章
- uni-app开发经验分享六:页面跳转及提示框
在我们开发的uni-app的过程中,页面跳转及提示框往往是我们做数据交互及结果反馈所要使用的功能,这里分享下我收集的一些方法及看法. 一:页面跳转 事件跳转 :指通过tap等事件来实现页面的跳转,跳转 ...
- android 学习第一天 了解事件机制,页面跳转等常用操作
点击时间2种 第一种,通过初始化页面 写入点击事件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI ...
- iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)
一. 目的: 实现UITableViewCell上按钮点击事件可以进行页面跳转. 二. 实现方法: 1. 用协议的方式的实现. 2. 需要自定义UITableViewCell. 三. 代码部分. ce ...
- Android实现页面跳转、ListView及其事件
Android实现页面跳转.ListView及其事件 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 进入主页面后,使用ListView实现特 ...
- Android+Jquery Mobile学习系列(4)-页面跳转及参数传递
关于页面转场,这个必须得专门列出来说明一下,因为Jquery Mobile与普通的Web发开有一些区别,这个对于新手如果不了解的话,就会钻到死胡同.撸主前段时间就是很急躁地上手开发程序,结果在页面转场 ...
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
- JavaWeb学习——页面跳转方式
JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别. 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispat ...
- Silverlight学习笔记之页面跳转
在进行项目开发的时候,经常遇到页面之间的跳转,包括silverlight之间以及silverlight和html之间的跳转. silverlight之间的页面跳转包含两点: 1.主窗体和子窗体 用户新 ...
- [ExtJS5学习笔记]第二十五节 利用window.open()函数实现ExtJS5的登陆页面跳转
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40427543 mvvm方式实现登陆的博客:http://blog.csdn.net/s ...
随机推荐
- The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 这是由于项目里面的一些 ...
- 应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
SSIO的更新 在SSIO上增加了UDP通讯方式,可以到Github上下载源代码.在原来的项目中,远端的设备与中心站的数据交互并没有使用过UDP方式.这种短连接的通讯链路,不容易维护,主要体现在:(1 ...
- python 学习笔记 -logging模块(日志)
模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().lo ...
- 3.1 js基本概念
js中的语法大量借鉴于C以及其他类C语言(Java,Perl). js中一切(变量.函数名.操作符等等)都区分大小写.如"var a;"中的变量a跟"var A;&quo ...
- 深入理解javascript函数参数与闭包(一)
在看此文章,希望先阅读关于函数基础内容 函数定义与函数作用域 的章节,因为这篇文章或多或少会涉及函数基础的内容,而基础内容,我放在函数定义函数作用域 章节. 本文直接赘述函数参数与闭包,若涉及相关知识 ...
- github源码学习之UIImage+YYWebImage
UIImage+YYWebImage是YYWebImage(https://github.com/ibireme/YYWebImage)中的一个分类,这个分类封装了一些image常用的变化方法,非常值 ...
- iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)
距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...
- java 中抽象类和接口的五点区别?
1.一个类可以实现多个接口 ,但却只能继承最多一个抽象类. 2.抽象类可以包含具体的方法 , 接口的所有方法都是抽象的. 3.抽象类可以声明和使用字段 ,接口则不能,但接口可以创建静态的final常量 ...
- java对xml节点属性的增删改查
学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对XML操作有更好的了解. package vastsum; import java.io.File; import java.io.Fi ...
- text-overflow
text-overflow:clip | ellipsis 默认值:clip 适用于:所有元素 clip: 当对象内文本溢出时不显示省略标记(...),而是将溢出的部分裁切掉. ellipsis: 当 ...