• 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>&nbsp;</h4>
            </div>
        </div>
    </body>
    </html>
  • 相关阅读:
    Java基础——java中String、StringBuffer、StringBuilder的区别
    Java基础——深入剖析Java中的装箱和拆箱
    Java内存分配全面浅析
    基于Appium的移动端UI自动化测试
    测试比对工具,辅助型QA转型之路
    读懂了腾讯和阿里的区别,就读懂了中国商业的秘密!
    Python中的基础数据类型(List,Tuple,Dict)及其常用用法简析
    阿里妈妈技术质量再度重磅开源:国内首个智能化功能测试开源平台Markov
    卧槽,极客时间今天专栏课程突然免费,啥情况?
    Flask 与 Django 先学哪个呢
  • 原文地址:https://www.cnblogs.com/LO-ME/p/4572501.html
Copyright © 2020-2023  润新知