h5项目中,安卓返回键会自动回返回上一个页面,有时候在开发中需要在返回时添加一些别的操作。遇到一个需求,需要在点击返回键时弹出提示框,进行退出此页面的二次确认,有取消和确认按钮,点击取消关闭提示框,点击确认再返回上一个页面。
解决方法:监听popstate事件
function addEventBack(){
pushHistory();
window
.addEventListener("popstate",addBackKey
, false);
function pushHistory() {
var state
= {
title
: "title",
url
: "#"
};
window
.history
.pushState(state
, "title", "#jjjj");
}
}
function removeEventBack(){
window
.removeEventListener("popstate",addBackKey
, false);
}
在开发过程中遇到一个问题,每次返回只在第一次有效,后面就没有效果了,于是在每次打开弹框的时候动态绑定事件,在返回时解除绑定,问题就解决了。