0

我正在使用 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) 仅在按下手机的后退按钮时触发,而不是在简单地在应用程序中导航时触发。

有没有人有这方面的信息或想法?提前致谢!

4

1 回答 1

0

仍然不知道为什么原始代码不起作用,但使用评论中提到的方法有效。

于 2012-11-27T20:01:32.240 回答