我有一个Cordova
应用ReactJS
。在主页上我希望后退按钮暂停应用程序(默认行为),当不在主页上时,我希望我的历史自定义实现可以接管。在我添加的deviceready
事件处理程序中
document.addEventListener( 'backbutton', onBackButtonKeyDown.bind(this), false);
onBackButtonKeyDown
的实现看起来像这样(删除了一些东西以使代码更清晰):
function onBackButtonKeyDown(e) {
if(!SomeStore.isMainMenuClosed) {
e.preventDefault();
historyButtonActions.raiseBackButtonClickedEvent();
}
};
我还尝试使用else
添加return false;
块。在所有情况下,都不会触发默认行为。谷歌搜索时我看到了一些使用navigator.app.exitApp();
的建议,但我不想退出应用。我希望Home
意图接管并让应用程序暂停,就像默认功能一样。
答案 0 :(得分:0)
我最后通过根据需要在backbutton
事件中添加和删除自定义处理程序来解决问题。删除处理程序后,默认行为将返回。