2016-04-26 22 views
0

当我使用人行横道构建混合应用程序时 - android后退按钮不适用于onsen ui框架(使用角度js)。Android后退按钮不适用于混合应用程序〜使用onsen ui(angular js)使用人行横道构建应用程序

下面是我所使用的代码...

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

function onBackKeyDown() { 
    // Handle the back button 
    alert("Backbutton is pressed!"); 
    var element = document.querySelector(".navigator-container"); 
    var scope = angular.element(element).scope(); 
    scope.popPage(); 
} 
+0

您正在使用哪个版本的OnsenUi? – kabaehr

+0

温泉用户界面2.0测试版https://onsen.io/2/ –

+0

看看这个http://stackoverflow.com/questions/24073019/backbutton-event-not-working-on-intel-xdk-crosswalk-应用程序。也许重复 – kabaehr

回答

1

正如@kabaehr提到你可能需要等待一切准备第一。这意味着以下任一:

document.addEventListener('deviceready', function(){ ... }); 

ons.ready(function(){ ... }); 

这可能是特定的温泉UI的另一件事是,它已经做了该事件的一些处理的事实,所以你可以尝试使用这对于给定的API 。

以下是该API的docs。目前,它看起来像你想的方法是:

ons.setDefaultDeviceBackButtonListener(onBackKeyDown) 

虽然这方法听起来并不太好,所以也许名称将改变未来。

现在请随时尝试,如果任何这些选项似乎适用于你。

+0

嗨我尝试使用上述方法,但没有为我工作.... –

+0

我在做什么是我使用xwalkview加载我的登录页面,并输入凭据后,打开另一个页面,当我移动到另一个页面,然后按后退按钮,它直接将我重定向到登录页面,而不是将我重定向到上一页.... –

+0

嗯......奇怪 - 也许它并不是真的正确地发射事件。确保'cordova.js'文件已包含并正在工作。也许你也可以测试'document.addEventListener('deviceready',function(){document.addEventListener(“backbutton”,onBackKeyDown);});'即使没有Onsen UI,看看它是否工作。这样我们可以看到它是一个科尔多瓦还是一个温泉用户的问题。 –

相关问题