模塊:eventsjavascript
Events模塊管理客戶端事件,包括系統事件,如擴展API加載完畢、程序先後臺切換等。html
好比說:網絡的連接的和斷開這種事件,系統從前臺走到後臺這種事件;html5
不包括:點擊和滑動頁面事件;java
應用場景:jquery
等待事件完成:例如 plusready();web
應用從前臺傳入後臺時中止一些佔用資源的服務:和服務器作交互的時候;服務器
應用從後臺轉到前臺時開啓一些服務;網絡
斷網時提示用戶:網絡不給力,斷網了;能夠經過device 獲取網絡的狀態;ui
加載錯誤時提示用戶;url
document.addEventListener(event,callback,capture);
這個時沒有對象,就一個核心方法:document.addEventListener(event,callback,capture);
event:字符串類型:plusready , pause 暫停 , newintent 意圖;
pause:當用戶跳轉到其餘應用,或者點擊了home鍵了都觸發這個事件;
error:error事件:當webview加載某一個頁面失敗的時候,會觸發這個事件,會在錯誤頁面去執行這個(也就是這個是在錯誤頁面執行這個的,因此必需要指定一個錯誤頁面);
錯誤頁面有兩種方式:第一種是Dcloud本身定的,在打包的時候會加上這個頁面;第二種是打開窗口指定一個錯誤頁面;
callback:事件發生以後我要作什麼;
capture:能夠忽略;
經常使用event:
"plusready": 擴展API加載完成事件
"pause": 運行環境從前臺切換到後臺事件
"resume": 運行環境從後臺切換到前臺事件
"netchange": 設備網絡狀態變化事件
"newintent": 新意圖事件
"plusscrollbottom": 窗口滾動到底部事件
"error": 頁面加載錯誤事件
"background": 應用切換到後臺運行事件
"foreground": 應用切換到前臺運行事件
"trimmemory": 應用須要清理內存事件
"splashclosed": 應用啓動界面已關閉事件
示例:點擊返回鍵,會彈出「再按一次退出應用」:
<script type="text/javascript"> mui.plusReady(function(){ document.addEventListener('pause',function(){ console.log('pause'); }); }); </script>
具體示例:
<header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">系統事件管理</h1> </header> <div class="mui-content mui-content-padded"> <button type="button" id="btnErr" class="mui-btn mui-btn-blue mui-btn-block">錯誤頁面</button> </div> <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script> <script src="js/mui.min.js"></script> <script type="text/javascript"> mui.plusReady(function(){ document.addEventListener('pause',function(){ console.log('pause'); }); document.addEventListener('resume',function(){ console.log('resume'); }); document.addEventListener('netchange',function(){ console.log(plus.networkinfo.getCurrentType()); }); // error事件 :error事件 $("#btnErr").bind('tap',function(){ mui.alert('aaa'); mui.openWindow({ url:'http://www.1234567.com', style:{ errorPage:'error.html' } }); }); }); </script>