可选地允许后退事件与cordova一起传播

时间:2015-02-04 07:21:30

标签: cordova events back-button

在cordova 3.x或4中是否有任何方法允许后退按钮事件传播到"正常"处理程序,就像你可以处理大多数其他用户界面事件(点击,触摸等)。

我们的问题是我们需要在某些情况下禁用后退按钮,但允许它在其余时间执行正常的后退导航。

目前,我们添加了一个全局点击侦听器,用于检查当前情况,然后添加/删除后退按钮侦听器,具体取决于它找到的内容。 这很好,而事件是由用户驱动的,但是某些情况会导致应用程序(例如)弹出第二个或第三个对话框(这是必须禁用后退按钮的地方之一) - 这会引起骚动。

感谢。

2 个答案:

答案 0 :(得分:2)

你必须小心。您的应用程序可能违反了应用程序商店的应用程序指南。例如,Microsoft应用商店不允许您阻止硬件返回按钮返回。

在用户无法继续或返回的情况下,建议的行为是退出应用程序,最好在提示用户再次单击后退出应用程序。

答案 1 :(得分:1)

如果您只想在主页上想要退出应用程序,那么您必须在DeviceReady函数中编写以下行。

document.addeventlistener("backbutton", onBackButton,false);

   function onBackButton(){
          if($.mobile.activePage.attr("id") == "homepage"){
        navigator.app.exitApp();
    }
    else{
        navigator.app.backHistory();

    }