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