cordova怎么禁用后退键?

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

function onBackKeyDown() {
    // Handle the back button
}

cordova官网上是说这么处理物理后退键的,但是怎么禁止后退呢?
return不好使。
removeEventListener也不好使

阅读 5.9k
2 个回答
document.addEventListener('backbutton', function (e) {
    doSomething()
}
doSomething function(){
    if(true){
        event.preventDefault();
    }
}

如果是spa应用,要禁止android系统类后退键的操作,可以尝试我这个方法。
我刚用了一个比较傻瓜式的方法:
初始化(事件/方法)时加上这段代码

// android fixed 系统返回键
if (process.env.NODE_ENV === 'production' && device.platform == 'Android') {
  // 初始化时,预先执行浏览器跳转“#”
  window.history.pushState({title: 'title', url: '#'}, 'title', '#')
  // 监听返回键操作,因为浏览器已跳至“#”,当前返回操作就会跳转回原来地址,实现页面上的“无操作”。
  window.addEventListener('popstate', function (e) {
    console.log(e)
    // 这里可以做一些你想做的事,比如:当前如果有弹窗,可以执行关闭弹窗之类的
    // doSomeThing...
  }, false)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进