【问题标题】:Disable Hardware back button in cordova在科尔多瓦禁用硬件后退按钮
【发布时间】:2015-07-15 09:53:59
【问题描述】:

我知道我不是第一个提出这个问题的人,但之前的问题的解决方案都不起作用。

我正在使用 Cordova 构建一个移动应用程序,我不希望用户按下硬件后退按钮,因为它可能会破坏整个业务场景。我需要的是从应用程序中完全禁用硬件后退按钮,以允许用户仅使用应用内按钮

谢谢

【问题讨论】:

  • 如果您发布对您不起作用的解决方案可能会有所帮助,但无论如何您是否尝试过:“document.addEventListener("backbutton", function() { }, false);" ?
  • @Ness 是的,我使用了以下代码,但它不起作用 document.addEventListener('backbutton', function(event) {event.preventDefault();}, false);
  • 奇怪,它在我写的最后一个科尔多瓦应用程序(大约 3 个月前)上对我有用。你确定你的函数真的被调用了吗?也许可以在那里添加一个日志来确定?
  • @Ness 我尝试调试它,它会跳过 preventDefault() 方法而不停止返回行为。

标签: javascript android cordova preventdefault


【解决方案1】:

只需获取后退按钮响应并防止默认设置。或在其中注意。这足以停止后退按钮的工作

function onDeviceReady(){
    document.addEventListener("backbutton", onBackKeyDown, false);     
}
function onBackKeyDown(e) {
  e.preventDefault();
}

【讨论】:

  • 其实我试过这种方式,它仍然在做默认行为。我试图调试它,它会跳过 preventDefault() 方法而不停止返回行为。
  • 在这种情况下检查您使用的是哪个版本的cordova。如果您使用的是旧版本,请尝试更新它。它应该工作
  • 好的,我试试这个,希望能成功...谢谢!
【解决方案2】:

请确保您正确引用了cordova.js。

听起来很像没有包含cordova时的行为。

【讨论】:

    猜你喜欢
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多