Cordova框架了一组事件,开发者用来对某些运行Cordova应用的设备上的事件做出反应。事件处理的一种状况是硬件相关活动,如电池状态变化或用户按了某个物理按钮;另外一种状况是应用程序状态的变化,如应用被停止或恢复。这些web应用使用的事件同Native应用使用的是同样的。css
完整的支持的事件列表以下:html
Cordova 事件 | 描述 |
backbutton | 用户按设备后退键时触发 |
batterycritical | 电池达到关键状态时触发。关键状态的定义因平台而异 |
batterylow | 电池低电量状态时触发。低电量状态的定义因平台而异 |
batterystatus | 电池状态至少改变1%时时触发(增长或减小) |
deviceready | cordova容器完成初始化时触发 |
endcallbutton | 在用户按手机的结束通话键时触发 |
menubutton | 在用户按手机的菜单键时触发 |
offline | 在设备失去网络链接时触发 |
online | 在设备由没有网络链接转换到链接状态时触发 |
pause | Cordova应用被挂起时触发。通常发生在用户跳转到另外一个应用,系统把当前应用放在后台时 |
resume | 在被挂起的应用转到前台时触发 |
searchbutton | 在用户按查找键时触发 |
startcallbutton | 在用户按通话键时触发 |
volumedownbutton | 用户按音量减小键时触发 |
volumnupbutton | 用户按音量键增长时触发 |
老式手机使用物理按钮来拨通和结束通话。在较新的设备上,这些按钮被移除并用虚拟按键代替。虚拟按键只在用到(如菜单和查找按键),或只用于某些应用(像电话按键)。git
大多数的列出的事件都在Cordova容器中实现了。只有电池状态以插件形式实现了。要使应用可以监视电池事件必须首先添加电池状态插件:web
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin=battery-status.git
其中device事件在《cordova应用解析》讨论过。apache
要监视这些事件能够简单的在应用中为某个事件注册监听器。网络
document.addEventListener("eventName", eventFunction);
如要监听是否断开网络链接,能够注册offline事件的监听器:框架
测试document.addEventListener("offline", isOffline);
.netfunction isOffline() {
插件// 断开网络链接时的动做
}
事件在不一样的移动平台上并不都准确的定期望的状况触发,须要在不一样设备上测试确保应用定期望的工做。
测试过的事件以下:
/********Cordova事件绑定******/
document.addEventListener('backbutton', function () {
console.info("后退键被点击");
}, false);
document.addEventListener('deviceready', function () {
console.info("cordova容器完成初始化时触发");
}, false);
document.addEventListener('menubutton', function () {
console.info("在用户按手机的菜单键时触发");
}, false);
document.addEventListener('pause', function () {
console.info("Cordova应用被挂起时触发");
}, false);
document.addEventListener('resume', function () {
console.info("在被挂起的应用转到前台时触发");
}, false);
document.addEventListener('startcallbutton', function () {
console.info("在用户按通话键时触发");
}, false);