无法覆盖每个页面上的后退按钮 cordova/phonegap 应用

Unable to override backbutton on every page cordova/phonegap app

由于 EventListeners 绑定到 deviceready 事件并且 deviceready 事件仅在设备注册时触发一次,我无法在每个页面上覆盖 backbutton根据我的应用程序的要求。

我试图寻找答案,但找不到。请协助如何实现这一目标。

我的页面正在 IFrame

中加载
  • EventListeners 未绑定到 deviceready 事件。以Cordova默认的EventListener为例,捕捉deviceready事件,并在事件发生时添加函数
  • 当我们希望捕获事件并希望对它们执行某些操作时,我们可以在代码中的任何时间点使用 EventListeners

因此,将它们添加到 <script> 标记或 JavaScript 文件中,您将重定向用户的新页面。

    document.addEventListener("backbutton", onBackKeyDown, false);

    function onBackKeyDown(e) {
       e.preventDefault();
       alert('Back Button is Pressed!');
    }

有关详细信息,请参阅 this 页面。

只需使用此代码:

document.addEventListener("deviceready", function(e){
        BackButton.override();
}, false);

将此代码放在您的 phonegap 项目中的结束 body 标记之前。

经过测试,工作正常。