PhoneGap API 之事件处理_双击返回键退出程序
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>jQuery Mobile Web 应用程序</title>
- <link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
- <script src="../jquery.js" type="text/javascript"></script>
- <script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
- <script src="../cordova.js" type="text/javascript"></script>
- <script type="text/javascript">
- //使用jQuery mobile设置提示框的信息
- function showMyAlert(text) {
- $.mobile.loadingMessageTextVisible = true;
- $.mobile.showPageLoadingMsg("a", text, true);
- }
- //弹出提示框信息的方法,两秒后隐藏
- function myAlert(text) {
- showMyAlert(text);
- setTimeout(hideLoading, 2000);
- }
- //隐藏提示框的方法
- function hideLoading() {
- $.mobile.hidePageLoadingMsg();
- }
- //退出app
- function exitApp() {
- navigator.app.exitApp();
- }
- </script>
- <script type="text/javascript">
- $(function(){
- document.addEventListener('deviceready',myDeviceready,false);
- })
- function myDeviceready(){
- console.log('设备加载完成');
- document.addEventListener('backbutton',myBackbutton,false);
- }
- //点击返回按钮的事件
- function myBackbutton(){
- //下面的if判断页面是否是id为indexPage的页面如果是才执行,否则执行else的返回上一页
- if ($.mobile.activePage.is('#indexPage')) {
- myAlert('再点击一次退出!');
- document.removeEventListener("backbutton", myBackbutton, false); // 注销返回键
- document.addEventListener("backbutton", exitApp, false);// 通过监听返回键绑定退出事件
- // 3秒后重新注册
- var intervalID = window.setTimeout(function() {
- window.clearTimeout(intervalID);
- document.removeEventListener("backbutton", exitApp, false); // 注销返退出事件
- document.addEventListener("backbutton", myBackbutton, false); // 返回键
- }, 3000);
- }else{
- navigate.app.backHistory();//相当于浏览器的后退
- }
- }
- </script>
- </head>
- <body>
- <div data-role="page" id="indexPage">
- <div data-role="header">
- <h1>PhoneGap实战</h1>
- </div>
- <div data-role="content">
- <a href="#" data-role="button" id="deviceStatus">设备加载中....</a>
- <a href="#" data-role="button" id="deviceCurrentStatus">应用为前台</a>
- <a href="#" data-role="button" id="deviceConectionStatus">连接加载中....</a>
- <a href="#" data-role="button" id="backButtonTouch">返回按钮被按0次</a>
- <a href="#" data-role="button" id="menuButtonTouch">菜单按钮被按0次</a>
- <a href="#" data-role="button" id="batterystatus">电量获取中...</a>
- </div>
- <div data-role="footer">
- <h4> </h4>
- </div>
- </div>
- </body>
- </html>
PhoneGap API 之事件处理_双击返回键退出程序的更多相关文章
- Android应用系列:双击返回键退出程序
前言 有一个很古老的应用技巧,一直被各种大大小小的app用得乐此不疲,那就是双击返回键退出程序.今天就写写它的实现代码,非常简单而且实用. 正文 双击返回键退出程序,一般有两种实现思路,一种是用一个布 ...
- android双击返回键退出程序
今天给大家简单说一下,android双击返回键退出程序. @Override public boolean onKeyDown(int keyCode, KeyEvent event) { ...
- WP8.1应用双击返回键退出程序。
#region 双击退出程序代码 //双击HardwareButtons.BackPressed: //出现退出提示窗口: //“确定”退出,“取消”返回什么也不做: private async vo ...
- android双击返回键退出程序的实现
/** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-gen ...
- Android 监听返回键退出程序的两种实现
1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定 ...
- ionic 实现双击返回键退出应用功能
ionic 实现双击返回键退出应用功能 keywords cordova,ngcordova,phonegap,ionic,双击,返回键,退出 例子 准备Toast插件,提示用,用户体验好点,不是必须 ...
- WP8.1 双击两次返回键退出程序
在实现Windows Phone上实现点按两次返回键退出程序, 一种方法是使用Coding4Fun提供的ToastPrompt, 使用方法如下: 1. 安装引用, 打开Package Manager ...
- Android中的“再按一次返回键退出程序”实现
用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...
- Android_按两次返回键退出程序和长按返回键退出程序
以上两个功能主要是参考了一下博客的: http://blog.csdn.net/chenshijun0101/article/details/7682210 http://blog.csdn.net/ ...
随机推荐
- js的一些妙用
在一个数组上 直接附加上另一个数组: Array.prototype.push.apply(array1, array2); 将对象转换成一个数组: Array.prototype.slice.ca ...
- 编译android源码遇到错误及其解决方法
升级ubuntu的14.04后,android的源码又编译错误了,一下是错误说明赫解决方法: 1.make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_ ...
- this说明
这个This就表示当前实例的对象,用this可访问属性,this.Fist:
- Spring.Net---1、IOC第一个实例
Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...
- jquery的事件绑定on()动态绑定
常用 这里有个文章列表, 通过on() 点击标题获取标题内容 <div class="article"> <div class="title" ...
- 阿里java面试题,你能答对多少?
答对以下这些面试题,可以淘汰掉 80 % 的求职竞争者. 1.hashcode相等两个类一定相等吗?equals呢?相反呢? 2.介绍一下集合框架? 3.hashmap hastable 底层实现什么 ...
- jenkins在Linux 下安装部署
这里介绍两种方法,一种方法将最新版jenkins加入到yum源,另外一种是下载指定版本的rpm包 系统centos6 自带jdk1.7 一 安装jenkins wget -O :下载并以不同的文件 ...
- jdk锁相关
锁类型 可重入锁:在执行对象中所有同步方法不用再次获得锁 可中断锁:在等待获取锁过程中可中断 公平锁: 按等待获取锁的线程的等待时间进行获取,等待时间长的具有优先获取锁权利 读写锁:对资源读取和写入的 ...
- luogu P2801 教主的魔法
题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. 每个人的身高一开始都是 ...
- iView定制主题报错问题的解决方法
按照iView官网来是这样的: 1. 在main.js当前目录下新建themes文件夹,里面新建一个叫blue.less的文件 2. 在mian.js里面引入blue.less文件 3. blue.l ...