# [Events]()
Events模块管理客户端事件,包括系统事件,如扩展API加载完毕、程序前后台切换等。
### 常量:
- ["plusready"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22plusready%22): 扩展API加载完成事件
- ["pause"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22pause%22): 运行环境从前台切换到后台事件
- ["resume"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22resume%22): 运行环境从后台切换到前台事件
- ["netchange"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22netchange%22): 设备网络状态变化事件
- ["newintent"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22newintent%22): 新意图事件
- ["plusscrollbottom"](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.%22plusscrollbottom%22): 窗口滚动到底部事件
### 方法:
- [addEventListener](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.addEventListener): 添加事件监听函数
### 回调方法:
- [EventTrigCallback](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.EventTrigCallback): 事件触发回调
### 权限:
permissions
~~~
"Events": {
"description": "访问应用状态变化事件"
}
~~~
# ["plusready"]()
扩展API加载完成事件
~~~
document.addEventListener( "plusready", plusreadyCallback, capture );
~~~
### 说明:
String 类型
为了保证扩展API的有效调用,所有应用页面都会用到的重要事件。 应用页面显示时需要首先加载扩展和API代码库,当扩展API代码库加载完成时会触发pluseready事件,当设备触发该事件后,用户就可以安全的调用扩展API。 如果程序中打开多个页面,每个都会收到此事件。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
// 扩展API加载完毕,现在可以正常调用扩展API
// ......
}
</script>
</head>
<body >
</body>
</html>
~~~
# ["pause"]()
运行环境从前台切换到后台事件
~~~
document.addEventListener( "pause", pauseCallback, capture );
~~~
### 说明:
String 类型
当程序从前台切换到后台时会触发此事件。 若应用需要处理从前台切换到后台的事件行为,可通过注册事件监听器来监听“pause”事件,此事件需要在plusready事件后通过document进行注册。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
document.addEventListener( "pause", onAppPause, false );
}
function onAppPause() {
console.log( "Application paused!" );
}
</script>
</head>
<body >
</body>
</html>
~~~
# ["resume"]()
运行环境从后台切换到前台事件
~~~
document.addEventListener( "resume", resumeCallback, capture );
~~~
### 说明:
String 类型
当程序从后台切换到前台时会触发此事件。 若应用需要处理从后台切换到前台的事件行为,可通过注册事件监听器来监听“resume”事件,此事件需要在plusready事件后通过document进行注册。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
document.addEventListener( "resume", onAppReume, false );
}
function onAppReume() {
alert( "Application resumed!" );
}
</script>
</head>
<body >
</body>
</html>
~~~
# ["netchange"]()
设备网络状态变化事件
~~~
document.addEventListener( "netchange", netchangeCallback, capture );
~~~
### 说明:
String 类型
设备网络状态发生时会触发此事件。 若应用需要处理网络状态变化的事件行为,可通过注册事件监听器来监听“netchange”事件,此事件需要在plusready事件后通过document进行注册。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
document.addEventListener( "netchange", onNetChange, false );
}
function onNetChange() {
var nt = plus.networkinfo.getConnectionType();
switch ( nt ) {
case plus.networkinfo.CONNECTION_ETHERNET:
case plus.networkinfo.CONNECTION_WIFI:
alert("Switch to Wifi networks!");
break;
case plus.networkinfo.CONNECTION_CELL2G:
case plus.networkinfo.CONNECTION_CELL3G:
case plus.networkinfo.CONNECTION_CELL4G:
alert("Switch to Cellular networks!");
break;
default:
alert("Not networks!");
break;
}
}
</script>
</head>
<body >
</body>
</html>
~~~
# ["newintent"]()
新意图事件
~~~
document.addEventListener( "newintent", newintentCallback, capture );
~~~
### 说明:
String 类型
程序从后台被第三方程序调用并传入新意图事件。 此时程序将切换到前台运行,若应用需要处理新意图的事件行为,可通过注册事件监听器来监听“newintent”事件,此事件需要在plusready事件后通过document进行注册。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
document.addEventListener( "newintent", onNetIntent, false );
}
function onNetIntent() {
// 获取新意图传入的参数
var args = plus.runtime.arguments;
// 处理意图事件
}
</script>
</head>
<body >
</body>
</html>
~~~
# ["plusscrollbottom"]()
窗口滚动到底部事件
~~~
document.addEventListener( "plusscrollbottom", eventCallback, capture );
~~~
### 说明:
String 类型
当滚动Webview窗口到底部时触发此事件。
### 平台支持
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Events Example</title>
<script type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
function onPlusReady() {
document.addEventListener( "plusscrollbottom", onScrollToBottom, false );
}
function onScrollToBottom() {
// 处理滚动到窗口底部事件
}
</script>
</head>
<body >
</body>
</html>
~~~
# [addEventListener]()
添加事件监听函数
~~~
void document.addEventListener( event, callback, capture );
~~~
### 说明:
通过Html中标准document对象的addEventListener方法添加扩展事件监听器,当指定事件发生时,将触发对应额监听回调函数。
### 参数:
- event: *( DOMString ) 必选 *要添加监听的事件类型,可取上面列出的所有事件常量
- callback: *( [EventTrigCallback](http://www.dcloud.io/docs/api/zh_cn/events.shtml#plus.Events.EventTrigCallback) ) 必选 *扩展API加载完毕触发的回调函数
- capture: *( Boolean ) 可选 *事件流捕获顺序,可忽略
### 返回值:
void : 无
# [EventTrigCallback]()
事件触发回调
~~~
void onTrig() {
// Event trig code
}
~~~
### 说明:
指定事件触发时的回调函数,在指定的事件已经发生时调用。
### 参数:
### 返回值:
void : 无
- API参考
- Accelerometer
- Audio
- Camera
- Contacts
- Device
- Downloader
- Events
- Gallery
- Geolocation
- IO
- Key
- Messaging
- NativeUI
- Navigator
- Orientation
- Proximity
- SplashScreen
- Storage
- UI
- Uploader
- InterfaceOrientation
- Runtime
- WebView
- XMLHttpRequest
- Zip
- Plugins
- Barcode
- Maps
- Payment
- Push
- Share
- Speech
- Statistic
- Native.js
- Android
- iOS