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 事件处理器

 

转载于:https://www.cnblogs.com/liluping860122/p/3698646.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值