<!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>&nbsp;</h4>
</div>
</div>
</body>
</html>

PhoneGap API 之事件处理_双击返回键退出程序的更多相关文章

  1. Android应用系列:双击返回键退出程序

    前言 有一个很古老的应用技巧,一直被各种大大小小的app用得乐此不疲,那就是双击返回键退出程序.今天就写写它的实现代码,非常简单而且实用. 正文 双击返回键退出程序,一般有两种实现思路,一种是用一个布 ...

  2. android双击返回键退出程序

    今天给大家简单说一下,android双击返回键退出程序. @Override public boolean onKeyDown(int keyCode, KeyEvent event) {      ...

  3. WP8.1应用双击返回键退出程序。

    #region 双击退出程序代码 //双击HardwareButtons.BackPressed: //出现退出提示窗口: //“确定”退出,“取消”返回什么也不做: private async vo ...

  4. android双击返回键退出程序的实现

    /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-gen ...

  5. Android 监听返回键退出程序的两种实现

    1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定 ...

  6. ionic 实现双击返回键退出应用功能

    ionic 实现双击返回键退出应用功能 keywords cordova,ngcordova,phonegap,ionic,双击,返回键,退出 例子 准备Toast插件,提示用,用户体验好点,不是必须 ...

  7. WP8.1 双击两次返回键退出程序

    在实现Windows Phone上实现点按两次返回键退出程序, 一种方法是使用Coding4Fun提供的ToastPrompt, 使用方法如下: 1. 安装引用, 打开Package Manager ...

  8. Android中的“再按一次返回键退出程序”实现

    用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dial ...

  9. Android_按两次返回键退出程序和长按返回键退出程序

    以上两个功能主要是参考了一下博客的: http://blog.csdn.net/chenshijun0101/article/details/7682210 http://blog.csdn.net/ ...

随机推荐

  1. laravel5.4学习--laravel目录结构

    Laravel目录结构分析 app目录:主要是存放自己开发的应用代码(里面主要书写 控制器和模型和路由文件) bootstrap目录:laravel启动目录 config目录:主要是存放配置文件信息 ...

  2. Command操作数据

    Command常用属性 CommandText             要下达至数据源的命令 CommandTimeout          出错时等待时间 //定义一个变量来存储对数据库操作的字符串 ...

  3. 删除弹出提示框_MVC

    <td> @Ajax.ActionLink(@shared.Delete, "DeleteServicetag", new { id = item.ID }, new ...

  4. nodejs简易代理服务器

    直接代码: var http = require('http') var proxy = http.createServer(function (request, response) { var op ...

  5. 【转】 面向对象(OO)程序设计

    前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发 ...

  6. 【SSH网上商城项目实战30】项目总结

      转自:https://blog.csdn.net/eson_15/article/details/51479994 0. 写在前面 项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了 ...

  7. bnu 被诅咒的代码

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=10792 被诅咒的代码 Time Limit: 1000ms Memory Limit: 65536K ...

  8. DBUtils结果集处理器介绍

    common-dbutils.jar是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能. 1.QueryRunner类 ① ...

  9. bootstrap fileinput +springmvc图片上传-krajee

    引入的文件 <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/4.4.9/css/filei ...

  10. WinForm实现Rabbitmq官网6个案例-Routing

    代码: namespace RabbitMQDemo { public partial class Routing : Form { private string exchangeName = &qu ...