У меня есть приложение Cordova
, сделанное с ReactJS
. Когда на главной странице я хотел бы, чтобы кнопка «Назад» приостановила действие приложения (поведение по умолчанию), а когда не на главной странице, я хотел бы, чтобы моя пользовательская реализация истории захватила верх. В обработчик событий deviceready
я добавилВозврат к поведению по умолчанию для физической кнопки
document.addEventListener('backbutton', onBackButtonKeyDown.bind(this), false);
Реализация onBackButtonKeyDown
выглядит следующим образом (удалены некоторые вещи, чтобы сделать код более понятным):
function onBackButtonKeyDown(e) {
if(!SomeStore.isMainMenuClosed) {
e.preventDefault();
historyButtonActions.raiseBackButtonClickedEvent();
}
};
Я также попытался добавить в else
блок с return false;
. Во всех случаях поведение по умолчанию не запускается. В то время как Googling я видел некоторые предложения по использованию navigator.app.exitApp();
, но я не хочу выходить из приложения. Я хочу, чтобы Home
задумывался над тем, чтобы приложение приостанавливалось, как работает функция по умолчанию.