当前位置:  开发笔记 > Android > 正文

覆盖android中的后退按钮 - Phonegap Angularjs

如何解决《覆盖android中的后退按钮-PhonegapAngularjs》经验,为你挑选了1个好方法。

我跟随我的index.js(用于初始化phonegap)

 function onBackKeyDown() {
     angular.element('[ng-controller=NavCtrl]').scope().back();
 }


var app = {
// Application Constructor
     initialize: function() {
         this.bindEvents();
     },

     // Bind any events that are required on startup. Common events are:
     // 'load', 'deviceready', 'offline', and 'online'.
     bindEvents: function() {
        document.addEventListener('load', this.onLoad, false);
        document.addEventListener('deviceready', this.onDeviceReady, false);
        window.addEventListener("orientationchange", orientationChange, true);
     },
     onLoad: function() {

     },


    onDeviceReady: function() {
        document.addEventListener("backbutton", onBackKeyDown, false);
    }
};

当按下后退按钮时,这应该在技术上运行onBackKeyDown函数.我可以在logcat中看到日志.

根据文档,这应该覆盖默认行为,但显然当我单击后退按钮时,它不仅会触发该函数,还会执行默认行为.我被带回到我的登录屏幕,而所描述的行为是别的.

请任何人都能指出我正确的方向,让我知道我做的不对.



1> Nicolas ABRI..:

不确定它是否会起作用,但你可以检查onBackKeyDown函数是否将事件作为第一个参数.如果是,那么尝试以下方法:

function onBackKeyDown(evt) {
  evt.preventDefault();
  evt.stopPropagation();
  angular.element('[ng-controller=NavCtrl]').scope().back();
 }

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有