欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂HTML5在線教程之HTML5APP中監(jiān)聽返回事件處理的方法示例

2018-05-03 10:55:30 1499瀏覽

HTML5 APP中監(jiān)聽返回事件處理的方法有不少對HTML5開發(fā)感興趣的小伙伴不是很了解,本篇文章小編就和大家分享一下扣丁學(xué)堂HTML5在線教程講解的HTML5 APP中監(jiān)聽返回事件處理的方法示例,希望可以幫到小伙伴們。



扣丁學(xué)堂HTML5在線教程之HTML5APP中監(jiān)聽返回事件處理的方法示例



在使用MUI框架的時候,我們經(jīng)常會用到一個頭部帶有.mui-action-back的class。


<header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h1 class="mui-title">貨物查詢</h1>
        </header>


點擊該頭部的返回標(biāo)識,則會返回到上一個頁面,


//以下是mui.js中的源碼,可以看到,在點擊返回的時候,內(nèi)部做了以下的操作
//$.hook={}是專門用于記錄瀏覽的歷史的。
$.back = function() {
        if (typeof $.options.beforeback === 'function') {
            if ($.options.beforeback() === false) {
                return;
            }
        }
        $.doAction('backs');
    };

$.doAction = function(type, callback) {//返回上一個記錄
        if ($.isFunction(callback)) { //指定了callback
            $.each($.hooks[type], callback);
        } else { //未指定callback,直接執(zhí)行
            $.each($.hooks[type], function(index, hook) {
                return !hook.handle();
            });
        }
    };

$.addAction = function(type, hook) {//添加歷史記錄
        var hooks = $.hooks[type];
        if (!hooks) {
            hooks = [];
        }
        hook.index = hook.index || 1000;
        hooks.push(hook);
        hooks.sort(function(a, b) {
            return a.index - b.index;
        });
        $.hooks[type] = hooks;
        return $.hooks[type];
    };


當(dāng)我們把H5封裝成APP時,我們用到的5+接口存在webview這一個概念,即是一個窗口。

而剛開始則沒有特意去區(qū)分這兩個概念,所以有時候新建窗口打開網(wǎng)頁,又或者有時候直接

通過網(wǎng)址來跳轉(zhuǎn)比如:location.href。



這樣就會導(dǎo)致,在監(jiān)聽手機的back按鍵時,出現(xiàn)了一種情況,其場景大致是下面這樣:


1、打開軟件進入主頁(main.html=>HBuilder[webview])【前者表示URL的本地訪問路徑,后者是窗口webview的ID】。


2、通過location.href跳轉(zhuǎn)到登錄界面,而并非通過創(chuàng)建webview打開。


3、登陸后進入功能頁面,再按返回,又返回到了登錄頁面。預(yù)期是希望,我登錄完后,如果點擊手機的返回鍵,直接退出的。為此特意了解了MUI的回退函數(shù),我們可以通過復(fù)寫這個方法來實現(xiàn)



在需要監(jiān)聽的頁面:

mui.back=function(){
//寫你監(jiān)聽返回鍵后需要做的操作



但是,如果還是按照之前網(wǎng)頁跳轉(zhuǎn)和創(chuàng)建窗體兩種模式混合使用會出現(xiàn)意想不到的結(jié)果,也就是mui.back只能在入口文件被監(jiān)聽,在其他頁面或窗體做的監(jiān)聽都不會被觸發(fā),全部被入口文件的監(jiān)聽事件mui.back捕獲了,只會執(zhí)行入口文件的監(jiān)聽業(yè)務(wù)邏輯,這樣就導(dǎo)致了,在不自定義返回事件的時候,我們沒法避免返回上一個頁面的尷尬情況:比如回退到了登錄頁面,而自定義返回事件,發(fā)現(xiàn)所有的事件都被入口文件監(jiān)聽了。這意味著其他頁面寫mui.back=function(){}是沒有意義的。



而將所有的跳轉(zhuǎn)頁面都作為窗體打開,則不會出現(xiàn)以上問題。每個窗口都能正常監(jiān)聽mui.back自定義的function。


以上就是小編給大家分享的扣丁學(xué)堂HTML5在線教程之HTML5 APP中監(jiān)聽返回事件處理的方法示例,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢??鄱W(xué)堂是專業(yè)的HTML5在線學(xué)習(xí)機構(gòu),不僅有專業(yè)的老師還有與時俱進的課程體系,想要參加HTML5培訓(xùn)學(xué)習(xí)HTML5開發(fā)技術(shù)的小伙伴快快行動吧。扣丁學(xué)堂H5技術(shù)交流群:559883758。 



關(guān)注微信公眾號獲取更多學(xué)習(xí)資料

【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】



查看更多關(guān)于“HTML5開發(fā)技術(shù)資訊”的相關(guān)文章>>



標(biāo)簽: 扣丁學(xué)堂HTML5在線教程之HTML5APP中監(jiān)聽返回事件處理的方法示例 HTML5培訓(xùn) HTML5視頻教程 HTML5在線課程 HTML5在線學(xué)習(xí) HTML5在線視頻 HTML5從入門到精通 html5基礎(chǔ)教程

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部