单击事件:
- //设备返回键
- document.addEventListener(“backbutton”, onBackKeyDown, false);
- function onBackKeyDown() {
- // 获取当前view
- var currentView=myApp.getCurrentView();
- if(currentView.history.length>1)
- {
- currentView.router.back({});//非首页返回上一级
- }
- else{
- navigator.app.exitApp();//首页点返回键退出应用
- }
- }
实现效果为,当前页面为首页时直接退出应用,不是首页时返回上一级。
- var app = new Framework7();
- var toast = app.toast('连续点击退出应用程序', '', {});
- toast.show(true);
- document.removeEventListener("backbutton", eventBackButton, false); //注销返回键
- //1秒后重新注册
- var intervalID = window.setInterval(
- function() {
- window.clearInterval(intervalID);
- document.addEventListener("backbutton", eventBackButton, false); //返回键
- },
- 1000
- );
实现效果为,点击物理返回键时toast提示“连续点击退出应用程序”,1秒内再次点击即退出。上面用到了toast,可以参看我的另外一篇博客js实现安卓toast效果(Framework7框架)。
以下代码实现的效果为,首页时点击物理返回键提示“连续点击退出应用程序”,1秒内再次点击退出应用程序;非首页时点击物理返回键返回上一页面。
- var currentView=myApp.getCurrentView();
- if(currentView.history.length>1)
- {
- currentView.router.back({});//返回上一级
- }else{
- var app = new Framework7();
- var toast = app.toast('连续点击退出应用程序', '', {});
- toast.show(true);
- document.removeEventListener("backbutton", eventBackButton, false); //注销返回键
- //1秒后重新注册
- var intervalID = window.setInterval(
- function() {
- window.clearInterval(intervalID);
- document.addEventListener("backbutton", eventBackButton, false); //返回键
- },
- 1000
- );
- }