J'ai créé Android app
en utilisant cordova 2.6.0
. J'ai implémenté une fonctionnalité menu
dans mon application à l'aide des balises html
et jQuery
, qui bascule lors de l'interaction avec la variable menubutton
de l'appareil. Mais je ne pouvais pas comprendre comment satisfaire à l'exigence suivante: se comporter comme une application native.
Besoin
La menu
doit se cacher lorsque vous appuyez sur la backbutton
du périphérique si la menu
est visible
. Si le menu
n'est pas visible, le backbutton
doit maintenant agir normalement, c'est-à-dire qu'il devrait soit exit
le app
, soit aller au back history
.
Ceci est mon code
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);
Le problème actuel
Si je joins une eventlistener
pour backbutton
, le Back Button
du périphérique est désactivé, cela ne fonctionne pas normalement.
Ma question est
Est-ce que document.addEventListener('backbutton', function(){});
survole le bouton de retour de l'appareil? Comment s'en débarrasser?
Cela se passe sur le périphérique Android 4.1.2
Une fois que vous avez remplacé le bouton Précédent à l'aide du programme d'écoute, les fonctionnalités natives ne sont pas exécutées. Vous devez également implémenter le comportement de sortie.
Dans votre méthode de substitution, utilisez les méthodes suivantes
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();
}
});
J'espère que cela pourra aider.
Pour répondre à ta question:
Est document.addEventListener ('backbutton', function () {}); sur le bouton de retour de l'appareil? Comment s'en débarrasser?
Vous pouvez également supprimer l'écouteur d'événements sur la redirection de page pour continuer à utiliser la fonctionnalité native du bouton Précédent dans les pages suivantes. Code pour supprimer l'écouteur d'événements comme suit:
document.removeEventListener("backbutton", onBackButton, false);
où onBackButton est la fonction associée à l'événement du bouton Précédent.