jQuery Mobile 页面事件
jQuery Mobile 页面事件
在 jQuery Mobile 中与页面打交道的事件被分为四类:
- Page Initialization - 在页面创建前,当页面创建时,以及在页面初始化之后
- Page Load/Unload - 当外部页面加载时、卸载时或遭遇失败时
- Page Transition - 在页面过渡之前和之后
- Page Change - 当页面被更改,或遭遇失败时
jQuery Mobile Initialization 事件
当 jQuery Mobile 中的一张典型页面进行初始化时,它会经历三个阶段:
- 在页面创建前
- 页面创建
- 页面初始化
每个阶段触发的事件都可用于插入或操作代码。
| 事件 | 描述 |
|---|---|
| pagebeforecreate | 当页面即将初始化,并且在 jQuery Mobile 已开始增强页面之前,触发该事件。 |
| pagecreate | 当页面已创建,但增强完成之前,触发该事件。 |
| pageinit | 当页面已初始化,并且在 jQuery Mobile 已完成页面增强之后,触发该事件。 |
下面的例子演示在 jQuery Mobile 中创建页面时,何时触发每种事件:
$(document).on("pagebeforecreate",function(event){
alert("触发 pagebeforecreate 事件!");
});
$(document).on("pagecreate",function(event){
alert("触发 pagecreate 事件!");
});
$(document).on("pageinit",function(event){
alert("触发 pageinit 事件!")
});
jQuery Mobile Load 事件
页面加载事件属于外部页面。
无论外部页面何时载入 DOM,将触发两个事件。第一个是 pagebeforeload,第二个是 pageload (成功)或 pageloadfailed(失败)。
下表中解释了这些事件:
| 事件 | 描述 |
|---|---|
| pagebeforeload | 在任何页面加载请求作出之前触发。 |
| pageload | 在页面已成功加载并插入 DOM 后触发。 |
| pageloadfailed | 如果页面加载请求失败,则触发该事件。默认地,将显示 "Error Loading Page" 消息。 |
下列演示 pageload 和 pagloadfailed 事件的工作原理:
$(document).on("pageload",function(event,data){
alert("触发 pageload 事件!\nURL: " + data.url);
});
$(document).on("pageloadfailed",function(event,data){
alert("抱歉,被请求页面不存在。");
});
jQuery Mobile 过渡事件
我们还可以在从一页过渡到下一页时使用事件。
页面过渡涉及两个页面:一张“来”的页面和一张“去”的页面 - 这些过渡使当前活动页面(“来的”页面)到新页面(“去的”页面的改变过程变得更加动感。
| 事件 | 描述 |
|---|---|
| pagebeforeshow | 在“去的”页面触发,在过渡动画开始前。 |
| pageshow | 在“去的”页面触发,在过渡动画完成后。 |
| pagebeforehide | 在“来的”页面触发,在过渡动画开始前。 |
| pagehide | 在“来的”页面触发,在过渡动画完成后。 |
下列演示了过渡时间的工作原理:
$(document).on("pagebeforeshow","#pagetwo",function(){ // 当进入页面二时
alert("页面二即将显示");
});
$(document).on("pageshow","#pagetwo",function(){ // 当进入页面二时
alert("现在显示页面二");
});
$(document).on("pagebeforehide","#pagetwo",function(){ // 当离开页面二时
alert("页面二即将隐藏");
});
$(document).on("pagehide","#pagetwo",function(){ // 当离开页面二时
alert("现在隐藏页面二");
});
jQuery Mobile 事件参考手册
下表列出了所有的 jQuery Mobile 事件。
注释:请通过使用 on() 方法来绑定事件。
| 事件 | 描述 |
|---|---|
| hashchange | 启用 bookmarkable #hash 历史记录。 |
| navigate | 针对 hashchange 和 popstate 的 wrapper 事件。 |
| orientationchange | 当用户垂直或水平旋转其移动设备时触发。 |
| pagebeforechange | 在页面变化周期内触发两次:任意页面加载或过渡之前触发一次,接下来在页面成功完成加载后,但是在浏览器历史记录被导航进程修改之前触发。 |
| pagebeforecreate | 当页面即将被初始化,但是在增强开始之前触发。 |
| pagebeforehide | 在过渡动画开始前,在“来源”页面上触发。 |
| pagebeforeload | 在作出任何加载请求之前触发。 |
| pagebeforeshow | 在过渡动画开始前,在“到达”页面上触发。 |
| pagechange | 在 changePage() 请求已完成将页面载入 DOM 并且所有页面过渡动画已完成后触发。 |
| pagechangefailed | 当 changePage() 请求对页面的加载失败时触发。 |
| pagecreate | 当页面已创建,但是增强完成之前触发。 |
| pagehide | 在过渡动画完成后,在“来源”页面触发。 |
| pageinit | 当页面已经初始化并且完成增强时触发。 |
| pageload | 在页面成功加载并插入 DOM 后触发。 |
| pageloadfailed | 如果页面加载请求失败,则触发。 |
| pageremove | 在窗口视图从 DOM 中移除外部页面之前触发。 |
| pageshow | 在过渡动画完成后,在“到达”页面触发。 |
| scrollstart | 当用户开始滚动页面时触发。 |
| scrollstop | 当用户停止滚动页面时触发。 |
| swipe | 当用户在元素上水平滑动时触发。 |
| swipeleft | 当用户从左划过元素超过 30px 时触发。 |
| swiperight | 当用户从右划过元素超过 30px 时触发。 |
| tap | 当用户敲击某元素时触发。 |
| taphold | 当元素敲击某元素并保持一秒时触发。 |
| throttledresize | 启用 bookmarkable #hash 历史记录 |
| updatelayout | 由动态显示/隐藏内容的 jQuery Mobile 组件触发。 |
| vclick | 虚拟化的 click 事件处理器 |
| vmousecancel | 虚拟化的 mousecancel 事件处理器 |
| vmousedown | 虚拟化的 mousedown 事件处理器 |
| vmousemove | 虚拟化的 mousemove 事件处理器 |
| vmouseout | 虚拟化的 mouseout 事件处理器 |
| vmouseover | 虚拟化的 mouseover 事件处理器 |
| vmouseup | 虚拟化的 mouseup 事件处理器 |
jQuery Mobile 页面事件的更多相关文章
- jQuery Mobile 页面事件总结
一.页面初始化事件(Page initiallization) 在页面创建前,当页面创建时,以及在页面初始化之后.只在第一次加载时执行. 1. pagebeforecreate 页面创建前 [sour ...
- jQuery Mobile页面跳转切换的几种方式
jQuery Mobile在移动开发中越来越受到欢迎. 而他的各个版本号也在持续不断的更新中.相同的我也非常喜欢它,它加快了我们开发HTML5的速度. 同一时候又具备jQuery一样的操作方法. 学起 ...
- [ Talk is Cheap Show me the CODE ] : jQuery Mobile页面布
[ Talk is Cheap Show me the CODE ] : jQuery Mobile页面布局 当我们专注地研究人类生活的空虚,并考虑荣华富贵空幻无常时,或许我们正在阿谀逢迎自己懒惰的天 ...
- (二)Jquery Mobile介绍以及Jquery Mobile页面与对话框
Jquery Mobile介绍以及Jquery Mobile页面与对话框 一. Adobe Dreamweaver CS6 环境 最新版本的cs6会支持JM的使用,有自动提示功能,很强大.安装说明地 ...
- 用谷歌浏览器Chrome浏览jQuery Mobile页面需要配置Tomcat服务器
在浏览jQuery Mobile 页面中,除了 Chrome浏览器出错外,其他的浏览器都ok: 这里,是因为需要单独配置 Tomcat 服务: 1.先配置java jdk: 2.下载,安装,配置,To ...
- 02.Jquery Mobile介绍以及Jquery Mobile页面与对话框
一.为什么要学Jquery Mobile JqueryMobile 是jquery的移动版本,懂基本的jquery知识,会简单的html+css就可以完成很多复杂的功能,还有就是这个框架在企业中用 ...
- jQuery Mobile页面返回无需重新get
最近公司的web app项目,使得我有幸一直接触和学习jQuery Mobile.这确实是一个很不错的移动开发库,有助于擅长web开发的工程师,快速入门并构建自己的移动应用.但是在前两天,我碰到了一个 ...
- jquery mobile Touch事件
Touch事件在用户触摸屏幕(页面)时触发 1.jquery mobile tap tap事件在用户敲击某个元素时触发 $("p").on("tap",fucn ...
- JQuery Mobile 页面参数传递
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...
随机推荐
- PHP 结合实例认识 Socket
一.简介 (本部分参考自 揭开Socket的神秘面纱 - 源码工作室) 请结合下图 Socket 抽象层的位置来理解.Socket 是应用层和 TCP/IP 协议族进行通信的中间软件抽象层,是一组接口 ...
- 64_p3
perl-Locale-Msgfmt-0.15-17.fc26.noarch.rpm 12-Feb-2017 03:11 20558 perl-Locale-PO-0.27-6.fc26.noarch ...
- Java线上应用故障之CPU占用高排查与定位
最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家 1.使用top命令,获取占用CPU最高的进程号 2.查看线程号对应的进程信息 命令:ps -ef|grep 22630 3.查看进程对应的线程信 ...
- 关于Hazard Pointers的话题
关于Hazard Pointers的话题, 起源于这个文章: 实现无锁的栈与队列(4) http://www.cnblogs.com/catch/p/3176636.html 其实他的系列文章(3)之 ...
- [How to] MapReduce on HBase ----- 简单二级索引的实现
1.简介 MapReduce计算框架是二代hadoop的YARN一部分,能够提供大数据量的平行批处理.MR只提供了基本的计算方法,之所以能够使用在不用的数据格式上包括HBase表上是因为特定格式上的数 ...
- UAF漏洞学习
产生原因: UAF漏洞的成因是一块堆内存被释放了之后又被使用.又被使用指的是:指针存在(悬垂指针被引用).这个引用的结果是不可预测的,因为不知道会发生什么.由于大多数的堆内存其实都是C++对象,所以利 ...
- Python全栈开发之11、进程和线程
一.线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成,一个进程内的所有线程,共享同一块内存python中创建线程比较简单,导入threading模块,下面来看一下代码中如何创建多线程. d ...
- javax.persistence.EntityNotFoundException: Unable to find报错
这类错id 可能是10,可能是27,也可能是其他数字 错误描述: javax.persistence.EntityNotFoundException: Unable to find 某个类 with ...
- 【笔试题】Java 中如何递归显示一个目录下面的所有目录和文件?
笔试题 Java 中如何递归显示一个目录下面的所有目录和文件? import java.io.File; public class Test { private static void showDir ...
- Typora ---一款简洁的Markdown编辑器
Typora BB in front 如果你是一个佛(lan)系(duo),内心文艺的程序员,并且你对其他Markdown编辑器的使用效果感觉不是很好的话,可以来了解一下该软件Typora. What ...