angularjs设备后退按钮不起作用

时间:2016-02-11 05:50:22

标签: javascript angularjs modal-dialog addeventlistener

我正在尝试创建对话框,当设备后退按钮被点击,搜索互联网并提出编码。 1.当我使用下面的编码时,单击后退按钮显示对话框确定并在我单击确定时取消:应用程序关闭。 2.当我点击取消时:应用程序关闭。



app.run(['$rootScope','$mdDialog','$cordovaDialogs', function($rootScope, $mdDialog, $cordovaDialogs) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown,false);
      function onBackKeyDown() {
        if(confirm("Are You sure You wanna Exit?")){
          console.log("true");
          navigator.app.exitApp();
        }else{
    return false;
    }
    }
  },false);
  $rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);




请看上面的编码,我做错了什么..?我只需要在设备内部显示确认对话框..并取消一定不能结束应用程序..提前谢谢你们。

2 个答案:

答案 0 :(得分:0)

sry,我已经改变了这样的代码,然后同样的应用程序关闭了确认的真假。



app.run(['$rootScope','$mdDialog','$cordovaDialogs', function($rootScope, $mdDialog, $cordovaDialogs) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown,false);
      function onBackKeyDown() {
        if(confirm("Are You sure You wanna Exit?")){
          console.log("true");
          navigator.app.exitApp();
        }else{
          return false;
     }
    }
  },true);
  $rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);




答案 1 :(得分:0)

感谢支持人员,我已经通过我的伙伴的帮助完成了这个问题..请看下面的代码.. :)

app.run(['$rootScope','$location', function($rootScope,$location) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown(e) {
  e.preventDefault();
  if ($location.path() === "/login" || $location.path() === "/home") {
  var r=confirm("exit");
	if(r==true){
		console.log("not exit");
		navigator.app.exitApp();
	}else {
     navigator.app.goBack();
    }
}else {
    /* $ionicHistory.goBack(); */
	window.history.back();
    navigator.app.goBack();
}
}
}, 100);
$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);