如何在手机上检测返回按钮是否被按下

12

请问如何检测手机上是否按下了返回按钮,如下图所示enter image description here

我尝试使用在桌面端常用的方式,像这样:

$(document).keypress(function(e){
    if(e.keyCode == 8){
        alert();
    }
});

但是在手机上不起作用。请问有更好的线索吗?


请参考以下链接:https://dev59.com/8F8e5IYBdhLWcg3wYJiu 和 https://dev59.com/CmUq5IYBdhLWcg3wYvd6。 - Patrick Moore
11
@PatrickMoore他说的不是浏览器的返回按钮,而是安卓手机上的硬件返回按钮。也许你使用的是iPhone/iPad,从未见过这个返回按钮,只有主页按钮。安卓系统有主页、返回和通常还有设置按钮。 - DrZ214
1个回答

6

有一个选项是使用jQuery Mobile。

这里是一个jQuery Mobile的代码示例

$(window).on("navigate", function (event, data) {
  var direction = data.state.direction;
  if (direction == 'back') {
    // do something
  }
  if (direction == 'forward') {
    // do something else
  }
});

另一个选择是添加一个'hardwareBackPress'事件监听器,就像在这个react-native代码示例中演示的那样。
根据这个来源,在Android上检测“返回”键,KEYCODE_BACK = 4。
或者,您可以集成mobile-detect.js
希望这可以帮到您。

9
原文:What about vanilla JavaScript?翻译:纯JavaScript怎么样? - David Callanan
代码示例似乎无法正常工作。我猜你需要使用popstate来创建自己的window.history,然后返回按钮将根据您的历史记录进行反应,而不是返回到先前的网站。 - Avatar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接