2015-11-18 3 views
0

У меня есть приложение 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 задумывался над тем, чтобы приложение приостанавливалось, как работает функция по умолчанию.

ответ

0

В конце концов я вставил вопрос, добавив и удалив пользовательский обработчик из события backbutton по мере необходимости. После удаления обработчика возвращается поведение по умолчанию.

Смежные вопросы