L'appel de bouton(“refresh”) sur jQuery mobile bouton casse le style de bouton

Je suis en train de mettre à jour dynamiquement le texte sur jQuery mobile bouton. Le bouton est en fait un lien qui est considéré comme un bouton.

Selon la la documentation de jQuery mobile, vous devriez appeler button("refresh") si vous manipulez le bouton via javascript. Cependant, quand je fais cela, le bouton du style va mais fou - il est réduit à la moitié de la hauteur de et le bouton est de la merde.

Voici un JS Fiddle qui illustre le problème.

Le code est essentiellement comme suit:

$(function() {
    //Buttonize
    var $button = $("#myCrapButton");
    $button.button();

    //Change text on click
    $button.click(function() {
        $button.text("Awesome Button");
        $button.button("refresh");
    });
});

Qui plus est, l'appel de button("refresh") provoque l'erreur javascript: Cannot call method 'removeClass' of undefined.

Je sais que je peux contourner ce problème en manipulant les .ui-btn-text span imbriqué à l'intérieur du bouton; cependant, cela semble être la bonne approche car elle nécessite la connaissance explicite du fonctionnement interne de jquery Mobile.

Quelqu'un peut-il me dire comment obtenir le rafraîchissement de travailler?

À l'aide de versions:

  • jQuery 1.9.1
  • jQuery Mobile 1.3.0 (dans le JSFiddle c'est 1.3.0 version bêta, mais le final a le même comportement).

Merci!

Avez-vous essayé $("[data-role='button']#buttonID").on("click", function() { //code here });
À l'aide de "sur" et "clic" dans ce scénario fait la même chose exacte (voir le documentation sur) - "Cette méthode est un raccourci pour .on('click', handler)".

OriginalL'auteur gerrod | 2013-03-06