Javascript Framewok7 backbutton侦听器不在多个选项卡上工作

Javascript Framewok7 backbutton侦听器不在多个选项卡上工作,javascript,android,cordova,html-framework-7,Javascript,Android,Cordova,Html Framework 7,我试图阻止我的cordovaandroid应用程序在我的手机(android)上按下物理后退按钮时无法关闭,相反,我想打开一个对话框,在关闭应用程序之前按下按钮两次,但我无法正确地理解如何调用或收听后退按钮 以下是我使用的framework7 <div class="toolbar tabbar-labels toolbar-bottom-md"> <div class="toolbar-inner"> <a href="#vie

我试图阻止我的
cordova
android应用程序在我的手机(android)上按下物理后退按钮时无法关闭,相反,我想打开一个对话框,在关闭应用程序之前按下按钮两次,但我无法正确地理解如何调用或收听后退按钮

以下是我使用的
framework7

<div class="toolbar tabbar-labels toolbar-bottom-md">
        <div class="toolbar-inner">
          <a href="#view-home" class="tab-link tab-link-active">
            <i class="icon f7-icons ios-only">home</i>
            <i class="icon f7-icons ios-only icon-ios-fill">home_fill</i>
            <i class="icon material-icons md-only">home</i>
            <span class="tabbar-label">Home</span>
          </a>
          <a href="#view-catalog" class="tab-link">
            <i class="icon f7-icons ios-only">list</i>
            <i class="icon f7-icons ios-only icon-ios-fill">list_fill</i>
            <i class="icon material-icons md-only">view_list</i>
            <span class="tabbar-label">catalog</span>
          </a>
          <a href="#view-settings" class="tab-link">
            <i class="icon f7-icons ios-only">settings</i>
            <i class="icon f7-icons ios-only icon-ios-fill">settings_fill</i>
            <i class="icon material-icons md-only">settings</i>
            <span class="tabbar-label">Settings</span>
          </a>
        </div>
      </div>
初始化视图

// Init/Create views
var homeView = app.views.create('#view-home', {
  url: '/',
  on: {
    pageInit: function (e, page) {
      // do something when page initialized
      document.addEventListener("backbutton", onBackKeyDown, false);
    } 
  }
});

 var catalogView = app.views.create('#view-catalog', {
    url: '/devices/'
  });

var settingsView = app.views.create('#view-settings', {
  url: '/settings/'
});
首先,我将调用
onBackKeyDown
作为函数

function onBackKeyDown(){

}
但现在我把它放在我的
应用程序
方法上

// App root methods
  methods: {

    onBackKeyDown: function(){

      app.dialog.alert('this was called');

    },

但是,当我按下手机上的Back按钮时,它不会执行任何建议。你的onBackKeyDown监听器在
查看主页
视图中。 从中取出并将其放置在与代码其余部分相同的级别:

 var app  = new Framework7({.....});
 document.addEventListener("backbutton", onBackKeyDown, false);

它应该能让你的所有应用程序都成为听众。

谢谢你的回复,我尝试了你的建议,但仍然没有运气,我还遵循了cordova的文档,
onDeviceReady
在浏览器上启动,但在我的android手机上没有任何事情发生,在backbutton上发出警报。
 var app  = new Framework7({.....});
 document.addEventListener("backbutton", onBackKeyDown, false);