今天我们就来讲一下phonegap的事件,学过编程的童鞋应该多多少少接触过事件,比如web上的按钮单击事件click,鼠标移过事件mouseover,移出事件mouseout,事件模型应用非常广泛,b/s,c/s模式的软件都有,有了事件可以更好的让应用程序和用户进行交互。

cordova(phonegap核心代码,提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码)也提供了一系列和app相关的事件,如下(只列出目前支持android的事件):

deviceready  //cordova已经准备完毕,就是app加载完毕pause  // 放到后台运行resume  // 重新进入appbackbutton //用户按了后退按钮menubutton //用户按了菜单按钮searchbutton  //用户按了搜索按钮

示例代码如下


<!DOCTYPE html>
<html>
  <head>
    <title>Device Ready Example</title>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }
    // device APIs are available
    //
    function onDeviceReady() {
        // Now safe to use device APIs
    }
    </script>
  </head>
  <body onload="onLoad()">
  </body>
</html>

结合上一节的weinre工具,大家可以自己带上console.log去记录以上各事件的触发情况