我正在使用jQM / Phonegap而我正试图控制Android的后退按钮。这是我构建的函数的简化版本:
var currFunc = undefined;
function setButton () {
var func = arguments[0];
document.removeEventListener('backbutton', currFunc, false);
currFunc = func;
document.addEventListener('backbutton', currFunc, false);
}
我现在在每个setButton()
事件上调用pagebeforeshow
来取消设置任何处理程序。比如,在页面B上,我现在打电话给setButton(function() { alert(1); });
。
首先,这似乎有效:在页面A上没有任何反应,单击页面B上的按钮将导致警报。到现在为止还挺好。但现在,当我回到第A页并点击一个再次让我进入Page B的按钮时,它就会触发警报。
我很困惑。听众应该a)无论如何都要取消设置; b)只有在按下电话的后退按钮时才会触发,而不是仅仅在应用程序内导航时。
有没有人对此有任何信息或想法?提前谢谢!
答案 0 :(得分:0)
仍然不知道为什么原始代码不起作用,但使用评论中提到的方法可行。