模块events

Events模块管理客户端事件,包括系统事件,如扩展API加载完毕、程序前后台切换等。

比如说:网络的链接的和断开这种事件,系统从前台走到后台这种事件;

不包括:点击和滑动页面事件;

应用场景

等待事件完成:例如 plusready();

应用从前台传入后台时停止一些占用资源的服务:和服务器做交互的时候;

应用从后台转到前台时开启一些服务;

断网时提示用户:网络不给力,断网了;可以通过device 获取网络的状态;

加载错误时提示用户;

document.addEventListener(event,callback,capture);

这个时没有对象,就一个核心方法:document.addEventListener(event,callback,capture);

event:字符串类型:plusready , pause 暂停 , newintent 意图;

  pause:当用户跳转到其他应用,或者点击了home键了都触发这个事件;

  error:error事件:当webview加载某一个页面失败的时候,会触发这个事件,会在错误页面去执行这个(也就是这个是在错误页面执行这个的,所以必须要指定一个错误页面);

  错误页面有两种方式:第一种是Dcloud自己定的,在打包的时候会加上这个页面;第二种是打开窗口指定一个错误页面;

callback:事件发生之后我要做什么;

capture:可以忽略;

常用event

"plusready": 扩展API加载完成事件
"pause": 运行环境从前台切换到后台事件
"resume": 运行环境从后台切换到前台事件
"netchange": 设备网络状态变化事件
"newintent": 新意图事件
"plusscrollbottom": 窗口滚动到底部事件
"error": 页面加载错误事件
"background": 应用切换到后台运行事件
"foreground": 应用切换到前台运行事件
"trimmemory": 应用需要清理内存事件
"splashclosed": 应用启动界面已关闭事件

示例:点击返回键,会弹出“再按一次退出应用”:

<script type="text/javascript">
mui.plusReady(function(){
document.addEventListener('pause',function(){
console.log('pause');
});
});
</script>

具体示例

<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">系统事件管理</h1>
</header>
<div class="mui-content mui-content-padded">
<button type="button" id="btnErr" class="mui-btn mui-btn-blue mui-btn-block">错误页面</button>
</div>
<script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
mui.plusReady(function(){
document.addEventListener('pause',function(){
console.log('pause');
});
document.addEventListener('resume',function(){
console.log('resume');
});
document.addEventListener('netchange',function(){
console.log(plus.networkinfo.getCurrentType());
});
// error事件 :error事件
$("#btnErr").bind('tap',function(){
mui.alert('aaa');
mui.openWindow({
url:'http://www.1234567.com',
style:{
errorPage:'error.html'
}
});
});
});
</script>

最新文章

  1. Ubuntu14.04安装Ubuntu Tweak
  2. java.lang.UnsupportedClassVersionError
  3. JUnit 单元测试 配置
  4. 如何在腾讯云快速构建一个Wordpress个人站点
  5. 使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool
  6. OA学习笔记-003-Hibernate3.6配置
  7. Effective Java提升Code Coverage代码涵盖率 - 就是爱Java
  8. Win32 多线程的创建方法和基本使用
  9. &amp;#39;Basic&amp;#39; attribute type should not be a persistence entity/a container
  10. 《学习opencv》笔记——矩阵和图像处理——cvMax,cvMaxS,cvMerge,cvMin and cvMinS
  11. 在centos6上实现LAMP的FPM模式
  12. linux 邮件服务器
  13. 简述MyBatis的体系结构
  14. 织梦dedecms如何修改关键词的字数长度限制
  15. [个人网站搭建]&#183;Django增加评论功能(Python3)
  16. [Codeforces702F]T-Shirts——非旋转treap+贪心
  17. [工作日志] 2019-04-16 入参是list
  18. 用dbExpress页的SQLConnection1连接sql server2000怎么设置。 [问题点数:0分]
  19. layer[申明:来源于网络]
  20. Maven子模块

热门文章

  1. skynet1.0阅读笔记_skynet的启动
  2. C#基础教程/适合初学者
  3. Java 二维码--转载
  4. MySQL无法重启问题解决Warning: World-writable config file ‘/etc/mysql/my.cnf’ is ignored
  5. javascript -- 判断是否为某个数据类型
  6. Android多线程任务的优化1:AsyncTask的缺陷 (转至 http://www.linuxidc.com/Linux/2011-09/43150.htm)
  7. 【Java面试题】36 List、Map、Set三个接口,存取元素时,各有什么特点?
  8. 怎么让Word编辑公式又快又好
  9. linux环境中,nginx安装过程
  10. github前端资源