我正在使用 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 并单击一个让我再次进入页面 B 的按钮时,它已经触发了警报。
我很困惑。侦听器应该 a) 无论如何都未设置,并且 b) 仅在按下手机的后退按钮时触发,而不是在简单地在应用程序中导航时触发。
有没有人有这方面的信息或想法?提前致谢!