2012-12-19 3 views
3

Je crée une application mobile Phonegap & JQuery. J'ai quelques boutons, et en naviguant dans l'application, si vous revenez à l'écran du menu, vous les voyez toujours sélectionnés (en état actif) ou bien en état stationnaire.Réinitialisation des états des boutons dans JQuery

Est-il possible de réinitialiser l'état une fois que l'utilisateur revient à l'écran du menu?

Répondre

3

Oui, vous pouvez, vous devez supprimer sa classe ui-btn-active.

Exemple:

$("#button").removeClass("ui-btn-active"); 

Do it in événement pagebeforeshow:

$('#page').live('pagebeforeshow',function(e,data){  
    $("#button").removeClass("ui-btn-active"); 
}); 
+0

l'état actif serait-il appliqué si l'utilisateur cliquait à nouveau sur le bouton? – user1809790

+0

Oui, il sera appliqué à nouveau. jQM est un peu bogué avec les états des boutons après la transition de la page. – Gajotres

+0

Peut-on en faire de même pour ui-btn-hover? enlever la classe sur pagebeforeshow? – user1809790

0

Une amélioration: Il est possible de définir, et donc saisir, la classe active bouton de JQM dynamique (inspiré par this answer), ce qui signifie que cela fonctionnera si vous ou quelqu'un d'autre décide de le changer.

$(document).delegate("#page-id", "pagebeforeshow", function(){ 
    var activeClass = $.mobile.activeBtnClass; 
    $(this).find("."+activeClass).removeClass(activeClass); 
}); 
Questions connexes