http://blog.csdn.net/phonegapcn

事件类型

  • backbutton
  • deviceready
  • menubutton
  • pause
  • resume
  • searchbutton
  • online
  • offline

backbutton

  • 当用户在Android系统上点击后退按钮的时候触发此事件。
  1. document.addEventListener("backbutton", yourCallbackFunction, false);

详述

  • 如果你需要在Android系统上重载默认后退按钮的行为,可以通过注册一个事件监听器来监听“backbutton”事件。它不再需求调用任何其他方法来重载后退按钮行为,现在你只需要为“backbutton”事件注册一个事件监听器。
  • 通常情况下,你需要在接收到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。

支持的平台

  • Android

简单的范例

  1. document.addEventListener("backbutton", onBackKeyDown, false);
  2. function onBackKeyDown() {
  3. // 处理后退按钮操作
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 会触发“deviceready”事件
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
  13. function onDeviceReady() {
  14. // 注册回退按钮事件监听器
  15. document.addEventListener("backbutton", onBackKeyDown, false);
  16. }
  17. // 处理后退按钮操作
  18. function onBackKeyDown() {
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. </body>
  24. </html>

deviceready

  • 当PhoneGap被完全加载后会触发该事件。
  1. document.addEventListener("deviceready", yourCallbackFunction, false);

详述

  • 这是每个PhoneGap应用程序都会用到的重要事件。
  • PhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码加载时会显示一个自定义的加载图片,但是,JavaScript只是在DOM加载后就被加载。这潜在的说明用户的Web应用程序可以在PhoneGap加载完成之前调用相应的JavaScript函数。
  • PhoneGap一旦完全加载就会触发deviceready事件。当设备触发该事件后,用户就可以安全进行PhoneGap函数调用。
  • 通常情况下,你会希望在HTML文件的DOM加载完毕后使用document.addEventListener附加一个事件监听器。

支持的平台

  • Android
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. document.addEventListener("deviceready", onDeviceReady, false);
  2. function onDeviceReady() {
  3. // 现在可以安全使用PhoneGap API
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 就会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
  13. function onDeviceReady() {
  14. // 现在可以安全使用PhoneGap API
  15. }
  16. </script>
  17. </head>
  18. <body>
  19. </body>
  20. </html>

BlackBerry (OS 4.6) 的特异情况

  • RIM的BrowserField(网页浏览器视图)不支持自定义事件,所以deviceready事件不会被触发。
  • 一种解决方法是一直手动查询PhoneGap.available方法直到PhoneGap完全加载完毕。
  1. function onLoad() {
  2. // BlackBerry OS 4浏览器不支持自定义事件。
  3. // 因此通过手动方式等待,直到PhoneGap加载完毕。
  4. var intervalID = window.setInterval(
  5. function() {
  6. if (PhoneGap.available) {
  7. window.clearInterval(intervalID);
  8. onDeviceReady();
  9. }
  10. },
  11. 500
  12. );
  13. }
  14. function onDeviceReady() {
  15. // 现在可以安全地调用PhoneGap API
  16. }

menubutton

  • 当用户在Android系统上点击菜单按钮的时候触发此事件。
  1. document.addEventListener("menubutton", yourCallbackFunction, false);

详述

  • 如果你需要在Android系统上重载默认菜单按钮的行为,可以通过注册一个事件监听器来监听“menubutton”事件。
  • 通常情况下,你需要在接受到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。

支持的平台

  • Android

简单的范例

  1. document.addEventListener("menubutton", onMenuKeyDown, false);
  2. function onMenuKeyDown() {
  3. //处理菜单按钮操作
  4. }

完整的范例

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 会触发“deviceready”事件
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
  13. function onDeviceReady() {
  14. // 注册菜单按钮事件监听器
  15. document.addEventListener("menubutton", onMenuKeyDown, false);
  16. }
  17. // 处理菜单按钮操作
  18. function onMenuKeyDown() {
  19. }
  20. </script>
  21. </head>
  22. <body onload="onLoad()">
  23. </body>
  24. </html>

pause

  • 当PhoneGap应用程序被放到后台的时候触发此事件。
  1. document.addEventListener("pause", yourCallbackFunction, false);

详述

  • PhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码将应用程序放到后台的时候会触发pause事件。
  • 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。

支持的平台

  • Android
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. document.addEventListener("pause", onPause, false);
  2. function onPause() {
  3. // 处理pause事件
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 就会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
  13. function onDeviceReady() {
  14. document.addEventListener("pause", onPause, false);
  15. }
  16. // 处理pause事件
  17. function onPause() {
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

iOS的特异情况

  • 在pause事件处理过程中,不但任何通过Objective-C的调用不会工作,而且任何交互性的调用也不会工作,比如警示功能。这意味着你不能调用console.log(及其变种),且任何来自插件或PhoneGap的API的调用都不会有所反应。这些调用只有在应用程序恢复后才会被处理(在下一轮运行循环中处理)。

resume

  • 当PhoneGap应用程序被恢复到前台运行的时候触发此事件。
  1. document.addEventListener("resume", yourCallbackFunction, false);

详述

  • PhoneGap包含两套代码库:本地代码库和JaPhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码将应用程序从后台提取到前台运行的时候触发resume事件。
  • 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。

支持的平台

  • Android
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. document.addEventListener("resume", onResume, false);
  2. function onResume() {
  3. // 处理resume事件
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 就会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
  13. function onDeviceReady() {
  14. document.addEventListener("resume", onResume, false);
  15. }
  16. // 处理resume事件
  17. function onResume() {
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

online

  • 当PhoneGap应用程序在线(连接到因特网)的时候触发此事件。
  1. document.addEventListener("online", yourCallbackFunction, false);

详述

  • 当应用程序的网络连接改变为online的时候触发online事件。
  • 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。

支持的平台

  • Android
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. document.addEventListener("online", onOnline, false);
  2. function onOnline() {
  3. // 处理online事件
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 就会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
  13. function onDeviceReady() {
  14. document.addEventListener("online", onOnline, false);
  15. }
  16. // 处理online事件
  17. function onOnline() {
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

iOS的特异情况

  • 在初次启动的情况下,第一个online事件(如果有的话)将需要至少1秒钟才被触发。

offline

  • 当PhoneGap应用程序离线(没有连接到因特网)的时候触发此事件。
  1. document.addEventListener("offline", yourCallbackFunction, false);

详述

  • 当应用程序的网络连接改变为offline的时候触发offline事件。
  • 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。

支持的平台

  • Android
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. document.addEventListener("offline", onOffline, false);
  2. function onOffline() {
  3. // 处理offline事件
  4. }

完整的范例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 就会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
  13. function onDeviceReady() {
  14. document.addEventListener("offline", onOffline, false);
  15. }
  16. // 处理offline事件
  17. function onOffline() {
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

iOS的特异情况

  • 在初次启动的情况下,第一个offline事件(如果有的话)将需要至少1秒钟才被触发。

Searchbutton

  • 当用户在Android系统上点击搜索按钮的时候触发该事件。
  1. document.addEventListener("searchbutton", yourCallbackFunction, false);

详述

  • 如果你需要在Android系统上重载默认搜索按钮的行为,可以通过注册一个事件监听器来监听“searchbutton”事件。
  • 通常情况下,你需要在接受到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。

支持的平台

  • Android

简单的范例

  1. document.addEventListener("searchbutton", onSearchKeyDown, false);
  2. function onSearchKeyDown() {
  3. // 处理搜索按钮操作
  4. }

完整的范例

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head>
  4. <title>PhoneGap Device Ready Example</title>
  5. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
  6. <script type="text/javascript" charset="utf-8">
  7. // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
  8. // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
  9. // 当PhoneGap加载完毕并开始和本地设备进行通讯,
  10. // 会触发“deviceready”事件。
  11. document.addEventListener("deviceready", onDeviceReady, false);
  12. // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
  13. function onDeviceReady() {
  14. // 注册搜索按钮事件监听器
  15. document.addEventListener("searchbutton", onSearchKeyDown, false);
  16. }
  17. // 处理搜索按钮操作
  18. function onSearchKeyDown() {
  19. }
  20. </script>
  21. </head>
  22. <body onload="onLoad()">
  23. </body>
  24. </html>

转载于:https://www.cnblogs.com/chris-oil/p/3335262.html

PhoneGap学习地址 / PhoneGap API介绍:Events相关推荐

  1. PhoneGap学习笔记(一) 框架搭建

    搭建JDK和android环境完成后,下载phoneGap,地址:http://phonegap.com/install/ 建立一个android项目,在assets目录下建立www文件夹用于放置js ...

  2. 学习笔记Hadoop(十四)—— MapReduce开发入门(2)—— MapReduce API介绍、MapReduce实例

    四.MapReduce API介绍 一般MapReduce都是由Mapper, Reducer 及main 函数组成. Mapper程序一般完成键值对映射操作; Reducer 程序一般完成键值对聚合 ...

  3. 43_pytorch nn.Module,模型的创建,构建子模块,API介绍,Sequential(序号),ModuleList,ParameterList,案例等(学习笔记)

    1.40.PyTorch nn.Module 1.40.1.模型的创建 1.40.2.构建子模块 1.40.3.nn.Module API介绍 1.40.3.1.核心功能 1.40.3.2.查看模块 ...

  4. 前端最新技术学习地址总结

    2019独角兽企业重金招聘Python工程师标准>>> 1. 主流技术官网总结 1.1. 工具类 Glup 官网:http://www.gulpjs.com.cn/ http://i ...

  5. MongoDB学习笔记(一) MongoDB介绍及安装

    系列目录 MongoDB学习笔记(一) MongoDB介绍及安装     MongoDB学习笔记(二) 通过samus驱动实现基本数据操作     MongoDB学习笔记(三) 在MVC模式下通过Jq ...

  6. 用于Java开发机器学习和深度学习的Vector API(翻译)

    本文介绍了用于Java开发机器学习和深度学习的Vector API 英语原文链接 https://software.intel.com/en-us/articles/vector-api-develo ...

  7. Web APIs第01天笔记——Web API介绍

    1.1. Web API介绍 1.1.1 API的概念   API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发 ...

  8. 15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)【LP自然语言处理涉及到深度学习和神经网络的介绍、 Pytorch、 RNN自然语言处理】 笔记

    15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)[LP自然语言处理涉及到深度学习和神经网络的介绍. Pytorch. RNN自然语言处理] 笔记 教程与代码地址 P1 机器学习与 ...

  9. es入门学习7-java-es自身API

    es入门学习7-java-es自身API 使用起前面的集群环境进行学习 一. 公共的东西 1.1.项目位置 1.2.导入依赖 <dependency><groupId>org. ...

最新文章

  1. 南农Nature Microbiology一作顾少华:我与铁载体的这5年
  2. 4.12—002—周五
  3. Codechef TRIPS Children Trips (分块、倍增)
  4. mybatis dao实现 || 接口代理方式实现
  5. Python abs函数 - Python零基础入门教程
  6. 在c语言中数组下标的最小值,数组元素下标的上限_c语言中,数组元素的下标下限为...
  7. 新手必备: win10 系统下 VSCode+CMake+Clang+GCC 环境的搭建!
  8. [DP思考录]向左走,向右走: Observer模式 VS Mediator模式
  9. 190515每日一句
  10. 865程序设计c语言,2018年江西师范大学865程序设计(C语言)考研大纲
  11. mysql中的cube和rollup_【hive】cube和rollup函数
  12. 数字信号处理 史林 课本答案(汇总)
  13. 李广难封--有感于团队建设
  14. mysql 平方_MYsql的数学函数
  15. 打通云主机实现局域网
  16. LM317,线性稳压电源总结
  17. windows自带桌面管理工具使用方法
  18. 微信公众号开发之网页授权获取用户基本信息
  19. MenuetOS-令人不可思议的64位操作系统!-第二辑
  20. 图象处理基本算法[整理]

热门文章

  1. iOS开发总结(A0)- Localization
  2. windows环境 logstash file input fail 解决
  3. 诗与远方:无题(三)
  4. Hibernate的发展和特点以及Hibernate的工作原理简介
  5. 死锁Demo、线程通信Demo
  6. Junit5集成到SpringBoot工程
  7. delphi 调用php接口_《细说PHP》第四版 样章 第23章 自定义PHP接口规范 5
  8. 重庆师范大学第一届ACM选拔赛(公开赛)G-团日活动
  9. ajax请求头cookies中传递sid,跨域请求单点登录,登录成功,但是在controller中获取的cookie与浏览器中不一致,请大神指点一二。^_^...
  10. python中int对象不可调用_'int'对象在python中不可调用