Прослушиватель событий JavaScript backbutton переопределяет кнопку "Назад" android-устройства
я создал Android app
С помощью cordova 2.6.0
. Я реализовал menu
функция в моем приложении с помощью html
накруток и jQuery
который включает взаимодействие с устройством menubutton
. Но я не мог понять, чтобы достичь следующего требования, вести себя как родное приложение.
требование
на menu
должен скрываться при нажатии устройства backbutton
если menu
is visible
. Если menu
- это не видно backbutton
теперь следовало действовать обычно, то есть, либо он должен exit
the app
или перейти на back history
.
это мой код
document.addEventListener('deviceready', function(){
document.addEventListener('menubutton', function(){
//Toggle Menu
//Which is working fine
});
document.addEventListener('backbutton', function(){
if(menu is visible) {
//Hide the menu
//This is also working fine
return false;
}
//BUT the default action of backbutton has gone. It cannot exit the app , neither it brings to back history.
//return true;
//I have also tried to return boolean true , but facing the same problem.
});
}, false);
актуальная проблема
если я добавляю eventlistener
на backbutton
устройства Back Button
отключен, он не работает как обычно.
у меня вопрос
и document.addEventListener('backbutton', function(){});
над верхом на кнопке "Назад" устройства? Как избавиться от это?
это происходит на устройстве Android 4.1.2
2 ответов
после того, как вы переопределили кнопку "назад" с помощью прослушивателя, он не выполняет собственные функции. Вы также должны реализовать поведение выхода.
в методе переопределения используйте следующий
document.addEventListener('backbutton', function(){
if(menu is visible) {
//Hide the menu
//This is also working fine
return false;
}
else //nothing is visible, exit the app
{
navigator.app.exitApp();
}
});
надеюсь, что это поможет.
чтобы ответить на ваш вопрос:
документ.addEventListener ('backbutton', function () {}); над кнопкой "Назад" устройства? Как от него избавиться?
вы также можете удалить прослушиватель событий на странице redirect, чтобы продолжить использовать собственную функциональность кнопки back на последующих страницах. Код для удаления прослушивателя событий следующим образом:
document.removeEventListener("backbutton", onBackButton, false);
где onBackButton-функция, связанная с событием кнопки "Назад".