PhoneGap 的 Events API 也就是事件 API,它可以监测设备上发生的事情。比如暂停,恢复,在线,下线,电量低,增大音量等等 ,这些动作都会触发对应的事件 ...
根据这些发生的事情,你可以去设计一下让设备要执行的动作。 比如当应用暂停使用的时候,会触发 pause 事件,你可能想要让应用去保存一下用户所做的事情,
当用户再次回到这个应用的时候,会触发 resume 事件,你可以根据这个事件再去做一些事情。
下面我们先来看一下这两个事件。
pause 与 resume 暂停与恢复
先打开应用的 js 目录下面的 index.js 这个脚本文件,在创建这个应用的时候,PhoneGap 在这个文件里已经用到了事件 API 里的一个事件,就是这个 deviceready … 当 phonegap 准备好以后,会触发这个事件。
一般我们可以把其它的要做的事件放在当这个事件发生以后要做的事里面。也就是这个 onDeviceReady ….
在这里,可以使用 document.addEventListener() 去添加一个事件的监听器 …
// 添加 pause 事件的监听器
document.addEventListener('pause', app.onPause, false);
document 是事件发生的目标, addEventListener … 括号 … 最后是一个分号 …. 括号里可以指定 addEventListener 的三个参数 …
第一个参数是事件的类型 … 这里我们使用 pause 这个事件,就是应用在暂停的时候会发生的事件 … 第二个参数是 listener ,也就是监听器 …
你可以把它理解成,事件发生以后,要做的事情的名称,在下面,我们可以去具体的定义要执行的动作 …
这里设置成 app.onPause … app 是这个文件时定义的 app 对象,后面的 onPause 是我们自己定义的名称 …
最后是 useCapture 参数,这个参数可以控制事件的传播的方式 … 在以后的 JavaScript 课程里,我们会详细的介绍一下 JavaScript 里面的事件 ..
这个参数一般我们都可以设置成 false …
onPause
下面我们再去定义发生 pause 事件以后要做的事情 … 在这个 onDeviceReady 的下面,我们去定义 onPause …
先输入一段注释 … // 当发生 pause 事件以后要做的事
onPause: function(){},
onPause 冒号 … 后面输入一个 function() 再加上一组大括号 … 表示这个 onPause 是一个函数 …. 在大括号里,可以定义具体要做的事 …
onPause: function(){
console.log('应用被暂停了');
},
这里我们使用一个 console.log ,在控制台上输出一些文字,这样当我们在控制台上看到这些文字,就证明这个 pause 事件已经发生了,并且执行了 onPause 里面定义的东西….
resume
用类似的方法,我们可以再去添加一个 resume 事件的监听器,去监听恢复事件。
复制一下这个添加监听器的代码 … 把 pause 改成 resume … app.onPause 改成 app.onResume …
再去定义 onResume …. 可以基于这个 onPause 去修改一下 …
// 当发生 resume 事件以后要做的事
onResume: function(){
console.log('应用已经恢复');
}