1. 程式人生 > >js實現對Android裝置物理返回鍵單擊/雙擊事件處理(Framework7框架)

js實現對Android裝置物理返回鍵單擊/雙擊事件處理(Framework7框架)

單擊事件:

//裝置返回鍵
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,可以參看我的另外一篇部落格

以下程式碼實現的效果為,首頁時點選物理返回鍵提示“連續點選退出應用程式”,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
        );
    }


相關推薦

js實現Android裝置物理返回事件處理Framework7框架

單擊事件: //裝置返回鍵 document.addEventListener(“backbutton”, onBackKeyDown, false); function onBackKeyDown

js history象 手機物理返回

部分 方式 span 兩個 字符 ie 8 javascrip 歷史 就會 有興趣的可以了解下history對象,不感興趣也可以直接跳到手機物理返回鍵監聽部分 ******************【history對象】有length屬性,go()/back()/forwar

js屏蔽手機的物理返回

gpo window 返回鍵 屏蔽 doc sha 必須 his pre $(document).ready(function() { if (window.history && window.history.pushState) {

如何監聽Android手機物理返回

概述 window.onpopstate是popstate事件在window物件上的事件控制代碼. 每當處於啟用狀態的歷史記錄條目發生變化時,popstate事件就會在對應window物件上觸發. 如果當前處於啟用狀態的歷史記錄條目是由history.pushSta

JS監聽手機的物理返回親測有效

自己弄一個專案,需要用到JS監聽物理返回鍵,網上找了發現大部分人都說無法監聽。後面再一個博主那看到一個方法,試了一下可以,特意發出來供大家參考。程式碼如下 if(window.history && window.history.pushState) { $

H5中 JS 禁用安卓手機物理返回 , 微信瀏覽器中也支援

直接引入以下程式碼就可以實現 XBack = {}; (function(XBack) { XBack.STATE = 'x - back'; XBack.element; XBa

萬能js實現翻頁,動態生成內容自動翻頁,相容各種瀏覽器已測試----神器版!

要求:動態輸入內容,點選post生成內容條,實現自動翻頁! 廢話不多說,直接上程式碼: js程式碼: var date=new Date(); var myDate=date.getDate()+"/"+(date.getMonth()+1)+"/"+date.getFu

Android主介面連續兩次點選物理返回提示退出應用功能實現

實現內容:當點選一次 back 鍵時,程式提示“再按一次退出程式” ,當點選兩次 back 鍵,兩次之間的時間小於 3s 時,App就退出。  實則是對按鍵back監聽。 重寫onKeyDown(),監聽back 宣告兩個常量: /** 上次點選返回鍵的時間 */ p

js中監聽回車鍵、物理返回(Android)

監聽回車鍵 //監聽某個輸入框 //回車事件繫結 $('#search_input').bind('keyup', function(event) { if (event.keyCode == "13") { //回車執

Android 在fragment中實現返回提醒 退出

make listener 一次 time lean 適配器 == sea dagger2 嘗試用mvp架構加dagger2來重寫了一下,大致功能都實現了,還沒有全部完成。 項目地址 接近完成的時候,想在天氣信息頁面實現一個很常見的功能,也就是點擊屏幕下方的返回鍵的時

JS使用 popstate 事件監聽物理返回

function 事件監聽 bsp als ref listen hist inf UNC pushHistory(); window.addEventListener("popstate", function (e) { i

Android開發實現點選兩次返回實現退出功能

在使用android平臺的app是我們經常會發現點選兩次返回鍵會提示是否 退出的功能,下面講講此功能是如何實現的(此方法比較簡單) 第一種方法是對系統返回鍵進行監聽,定義一個變數記錄按鍵時間,通過計算時間差來實現該功能,程式碼如下: //退出時的時間 private long mExitTime;

H5頁面監聽Android物理返回

Android物理返回鍵的點選事件,一般webview的預設行為是 window.history.go(-1) ,但是在實際需求場景下,簡單的頁面回退並不能滿足需求,所以需要H5頁面監聽Android物理返回鍵從而自定義處理方法。 本方案的程式碼都在 h5_android_back 倉庫中 原理 主要是

Android 設定Dialog不允許物理返回退出

有時候需要執行一段耗時任務的時候,需要出現一個等待(就是一個白色小圓環一直轉的那個)Dialog來告訴使用者現在需要等一會,因為在做耗時的事情,可是Dialog可以設定防止點選外面取消Dialog,我忘了物理返回鍵也可以取消Dialog,所以上網查詢資料總結如下。1,直接設定

react-native 監聽Android物理返回

1、componentWillMount(){ BackHandler.addEventListener('hardwareBackPress', this.onBackAndroid)

使用《UrlHash/錨點》解決移動裝置中的頁面應用的物理[返回]帶來的困擾

事由        今天同事在開發WebApp的時候,遇到一個小問題,就是移動裝置,準確來說是安卓裝置中的物理返回鍵,會直接忽略一些頁面效果,直接跳轉回上一個頁面。但是同事的這個頁面包含了幾個層的點選顯示,在列表裡點選會切換層顯示詳情。但是如果點選物理返回鍵之後,會直接

android實現點選兩次返回實現退出功能

在使用android平臺的app是我們經常會發現點選兩次返回鍵會提示是否退出的功能,下面講講此功能是如何實現的(此方法比較簡單) 第一種方法是對系統返回鍵進行監聽,定義一個變數記錄按鍵時間,通過計算時間差來實現該功能,程式碼如下: //退出時的時間private lon

Android--實現點選一次返回返回桌面而不是退出應用

點選一次返回鍵的時候不是退出應用而是返回到桌面,比如像QQ和微信等聊天軟體,在主介面點選返回鍵的時候不是退出應用而是返回到桌面,那麼怎麼能夠實現這種需求呢?其實也很簡單,只需要重寫onKeyDown(

關於Android點選物理返回退出程式的問題

在Android中,今天偶然發現了一個問題,以前在應用主介面經常寫的點選物理返回鍵後,在兩秒內再次點選退出程式程式碼如下: @Override     public boolean onKeyDown(int keyCode, KeyEvent event) {  

Android Dialog全屏後遮擋物理返回問題解決

上一篇講到Dialog如何全屏,以及去除邊框,實際用的時候又發現個小問題就是:全屏之後點選下方的物理的退出按鈕沒有反應,查詢原因是因為全屏之後遮擋了物理返回鍵,又上網查了一下解決方法,如下: mSe