# [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