2013-05-22 3 views
2

Как обнаружить событие кнопки «Назад» при открытии navigator.notification.confirm? Кнопка «Назад» просто закрывает всплывающее окно, но event document.addEventListener («backbutton», onBackKeyDown, false); не поднимается.Как определить событие кнопки «Назад»?

+0

Я добавил тег Phonegap, потому что это в основном вопрос Phonegap. Кроме того, это не критика, но не ожидайте решения без примера кода, даже если оно классифицировано. – Gajotres

ответ

0

В обратном вызове success, который вы передаете в API navigator.notification.confirm, вы можете получить кнопку buttonIndex, на которую была нажата кнопка. Это не задокументировано, но если buttonIndex = 0, пользователь либо щелкнул за пределами диалогового окна, чтобы закрыть его, либо нажал кнопку «Назад».

Так, например:

function makeConfirm(){ 
     navigator.notification.confirm(
      'You are the winner!', // message 
      onConfirm,    // callback to invoke with index of button pressed 
      'Game Over',   // title 
      'Restart,Exit'   // buttonLabels 
     );   
    } 

    function onConfirm(buttonIndex){ 
     console.log("confirmation! Button clicked was:" + buttonIndex); 
     if(buttonIndex===0){ 
      // they either hit back button or tapped the area outside of the dialog 
     } 
    } 

Я не уверен, если есть способ, чтобы определить, нажали ли они реальное аппаратное обеспечение кнопку назад или просто выключили диалог. Вы могли бы зарегистрировать событие щелчка на теле страницы и посмотреть, было ли это уволено, если оно было и buttonIndex===0, после чего они щелкнули вне диалогового окна. Если buttonIndex===0, но он не уволился, они нажали кнопку возврата оборудования.

Я также прочитал другие вопросы о StackOverflow об использовании JQM, чтобы определить, была ли нажата кнопка «Назад»; возможно, вы можете просто использовать это.

+0

Он не входит в функцию для обработки события кнопки обратной связи, когда navigator.notification.confirm активен. –

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