PhoneGap API介绍:Events
事件类型:
backbutton
- 当用户在Android系统上点击后退按钮的时候触发此事件。
- document.addEventListener("backbutton", yourCallbackFunction, false);
详述:
- 如果你需要在Android系统上重载默认后退按钮的行为,可以通过注册一个事件监听器来监听“backbutton”事件。它不再需求调用任何其他方法来重载后退按钮行为,现在你只需要为“backbutton”事件注册一个事件监听器。
- 通常情况下,你需要在接收到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。
支持的平台:
- Android
简单的范例:
- document.addEventListener("backbutton", onBackKeyDown, false);
- function onBackKeyDown() {
- // 处理后退按钮操作
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 会触发“deviceready”事件
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
- function onDeviceReady() {
- // 注册回退按钮事件监听器
- document.addEventListener("backbutton", onBackKeyDown, false);
- }
- // 处理后退按钮操作
- function onBackKeyDown() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
deviceready
- 当PhoneGap被完全加载后会触发该事件。
- 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
简单的范例:
- document.addEventListener("deviceready", onDeviceReady, false);
- function onDeviceReady() {
- // 现在可以安全使用PhoneGap API
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
- function onDeviceReady() {
- // 现在可以安全使用PhoneGap API
- }
- </script>
- </head>
- <body>
- </body>
- </html>
BlackBerry (OS 4.6) 的特异情况:
- RIM的BrowserField(网页浏览器视图)不支持自定义事件,所以deviceready事件不会被触发。
- 一种解决方法是一直手动查询PhoneGap.available方法直到PhoneGap完全加载完毕。
- function onLoad() {
- // BlackBerry OS 4浏览器不支持自定义事件。
- // 因此通过手动方式等待,直到PhoneGap加载完毕。
- var intervalID = window.setInterval(
- function() {
- if (PhoneGap.available) {
- window.clearInterval(intervalID);
- onDeviceReady();
- }
- },
- 500
- );
- }
- function onDeviceReady() {
- // 现在可以安全地调用PhoneGap API
- }
menubutton
- 当用户在Android系统上点击菜单按钮的时候触发此事件。
- document.addEventListener("menubutton", yourCallbackFunction, false);
详述:
- 如果你需要在Android系统上重载默认菜单按钮的行为,可以通过注册一个事件监听器来监听“menubutton”事件。
- 通常情况下,你需要在接受到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。
支持的平台:
- Android
简单的范例:
- document.addEventListener("menubutton", onMenuKeyDown, false);
- function onMenuKeyDown() {
- //处理菜单按钮操作
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 会触发“deviceready”事件
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
- function onDeviceReady() {
- // 注册菜单按钮事件监听器
- document.addEventListener("menubutton", onMenuKeyDown, false);
- }
- // 处理菜单按钮操作
- function onMenuKeyDown() {
- }
- </script>
- </head>
- <body onload="onLoad()">
- </body>
- </html>
pause
- 当PhoneGap应用程序被放到后台的时候触发此事件。
- document.addEventListener("pause", yourCallbackFunction, false);
详述:
- PhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码将应用程序放到后台的时候会触发pause事件。
- 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。
支持的平台:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
简单的范例:
- document.addEventListener("pause", onPause, false);
- function onPause() {
- // 处理pause事件
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
- function onDeviceReady() {
- document.addEventListener("pause", onPause, false);
- }
- // 处理pause事件
- function onPause() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
iOS的特异情况:
- 在pause事件处理过程中,不但任何通过Objective-C的调用不会工作,而且任何交互性的调用也不会工作,比如警示功能。这意味着你不 能调用console.log(及其变种),且任何来自插件或PhoneGap的API的调用都不会有所反应。这些调用只有在应用程序恢复后才会被处理 (在下一轮运行循环中处理)。
resume
- 当PhoneGap应用程序被恢复到前台运行的时候触发此事件。
- document.addEventListener("resume", yourCallbackFunction, false);
详述:
- PhoneGap包含两套代码库:本地代码库和JaPhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码将应用程序从后台提取到前台运行的时候触发resume事件。
- 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。
支持的平台:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
简单的范例:
- document.addEventListener("resume", onResume, false);
- function onResume() {
- // 处理resume事件
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
- function onDeviceReady() {
- document.addEventListener("resume", onResume, false);
- }
- // 处理resume事件
- function onResume() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
online
- 当PhoneGap应用程序在线(连接到因特网)的时候触发此事件。
- document.addEventListener("online", yourCallbackFunction, false);
详述:
- 当应用程序的网络连接改变为online的时候触发online事件。
- 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。
支持的平台:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
简单的范例:
- document.addEventListener("online", onOnline, false);
- function onOnline() {
- // 处理online事件
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
- function onDeviceReady() {
- document.addEventListener("online", onOnline, false);
- }
- // 处理online事件
- function onOnline() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
iOS的特异情况:
- 在初次启动的情况下,第一个online事件(如果有的话)将需要至少1秒钟才被触发。
offline
- 当PhoneGap应用程序离线(没有连接到因特网)的时候触发此事件。
- document.addEventListener("offline", yourCallbackFunction, false);
详述:
- 当应用程序的网络连接改变为offline的时候触发offline事件。
- 通常情况下,你会希望一旦接收到PhoneGap的“deviceready”事件就使用document.addEventListener附加一个事件监听器。
支持的平台:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
简单的范例:
- document.addEventListener("offline", onOffline, false);
- function onOffline() {
- // 处理offline事件
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法。
- function onDeviceReady() {
- document.addEventListener("offline", onOffline, false);
- }
- // 处理offline事件
- function onOffline() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
iOS的特异情况:
- 在初次启动的情况下,第一个offline事件(如果有的话)将需要至少1秒钟才被触发。
Searchbutton
- 当用户在Android系统上点击搜索按钮的时候触发该事件。
- document.addEventListener("searchbutton", yourCallbackFunction, false);
详述:
- 如果你需要在Android系统上重载默认搜索按钮的行为,可以通过注册一个事件监听器来监听“searchbutton”事件。
- 通常情况下,你需要在接受到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。
支持的平台:
- Android
简单的范例:
- document.addEventListener("searchbutton", onSearchKeyDown, false);
- function onSearchKeyDown() {
- // 处理搜索按钮操作
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数。
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
- function onDeviceReady() {
- // 注册搜索按钮事件监听器
- document.addEventListener("searchbutton", onSearchKeyDown, false);
- }
- // 处理搜索按钮操作
- function onSearchKeyDown() {
- }
- </script>
- </head>
- <body onload="onLoad()">
- </body>
- </html>
PhoneGap API介绍:Events的更多相关文章
- PhoneGap学习地址 / PhoneGap API介绍:Events
http://blog.csdn.net/phonegapcn 事件类型: backbutton deviceready menubutton pause resume searchbutton on ...
- PhoneGap API介绍:Camera
本文将介绍PhoneGap API——Camera:使用设备的摄像头采集照片,对象提供对设备默认摄像头应用程序的访问. 方法: camera.getPicture 参数: cameraSuccess ...
- PhoneGap API介绍:File
本文将介绍PhoneGap API——File:通过JavaScript截获本地文件系统.File是用于读取.写入和浏览文件系统层次结构的PhoneGap API. 对象: DirectoryEntr ...
- PhoneGap API 之多媒体
一. MediaApi 简单介绍 PhoneGap API Media 对象提供录制和回放设备上的音频文件的能力 参数: var media = new Media(src, mediaSuccess ...
- 常用ArcGIS for Silverlight 开发API介绍
1.API介绍 2.Map对象 3.Layer对象 4.Symbol对象 5.Task对象
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- python学习笔记(win32print API介绍)
最近博主在研究用python控制打印机 这里整理下win32print的API介绍,官网地址http://timgolden.me.uk/pywin32-docs/win32print.html Op ...
- 使用html5中video自定义播放器必备知识点总结以及JS全屏API介绍
一.video的js知识点: controls(控制器).autoplay(自动播放).loop(循环)==video默认的: 自定义播放器中一些JS中提供的方法和属性的记录: 1.play()控制视 ...
- facebook api介绍
转自(http://sls.weco.net/node/10773) 一.Facebook API 基礎概念 Facebook API 概論 : API 最大的好處在於可以讓程式開發人員只需要根據 A ...
随机推荐
- REST模式中HTTP请求方法(GET,POST,PUT,DELETE)
一直在测试REST模式的WEB SERVICE接口,客户端的HTTP的请求方式一般分为四种:GET.POST.PUT.DELETE,这四种请求方式有什么不同呢.简单的说,GET就是获取资源,POST就 ...
- Java实现连接FTP服务并传递文件
public class FtpClientUtil { private String host; private int port; private String username; private ...
- React笔记:ref注意事项
[一]使用ref必须用在[类型式的组件]才起作用,用在[函数式的组件]是无效的. 下面这个例子用在了[函数式的组件]上,所以是无效的: function MyFunctionalComponent() ...
- Ubuntu下apt-get安装Java,Tomcat
sudo apt-get update sudo add-apt-repository ppa:webupd8team/java sudo apt-get install oracle-java8-i ...
- Angular 怎么在加载中加入 Loading 提示框
[转自] http://zhidao.baidu.com/link?url=MX9eSRkQbBC8zrjsCi-t_PsftVRSIjiaUTHhdp6eDiZ0IqaZehSCo3n7fFXWyP ...
- 【研究】ms17-010永恒之蓝漏洞复现
1 永恒之蓝漏洞复现(ms17-010) 1.1 漏洞描述: Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放44 ...
- SPOJ - AMR11
A Thanks a lot for helping Harry Potter in finding the Sorcerer's Stone of Immortality in October. D ...
- RSA加密、解密、签名、校验签名
先说下RSA概率: 公钥和私钥是通过本地openssl软件生成. 正常: 公钥加密=>私钥解密: 私钥签名=>公钥校验签名 最近做一个项目,对方用java公钥去校验签名,这边java的De ...
- js模拟实现哈希表
在算法中,尤其是有关数组的算法中,哈希表的使用可以很好的解决问题,所以这篇文章会记录一些有关js实现哈希表并给出解决实际问题的例子. 说明: 这篇博客所写并不是真正意义的哈希表,只是与哈希表的使用有相 ...
- 修改OPENSUSE 桌面快速搜索快捷键