web-dev-qa-db-fra.com

Empêcher le changement de curseur à la main sur le bouton désactivé

Duplicata possible:
jQuery survolez un lien désactivé, comment puis-je changer le curseur pour qu'il n'apparaisse pas cliquable?

J'ai un bouton que j'essaie de désactiver dans certains cas où sa fonction est inutile ou impossible. C'est l'un des nombreux boutons de la page, et je souhaite uniquement désactiver ce bouton spécifique.

L'effet que je recherche est de le rendre grisé, non cliquable et pour que le pointeur de la souris ne se transforme pas en pointeur de la main lors du survol du bouton.

J'ai réussi à atteindre les deux premiers objectifs, mais je ne sais pas comment faire en sorte que le troisième se réalise. Lorsque j'ai cherché, j'ai vu des suggestions pour désactiver globalement ce comportement, mais pas pour un bouton spécifique.

Voici ce que j'ai jusqu'à présent.

if(buttonIsDisabled)
{
    var btnid ="#button"+index;
    $(btnid).attr("disabled","disabled").fadeTo(500,0.2);
}

Cela rend le bouton impossible à cliquer et disparaît avec succès, mais dans Firefox et Chrome il affiche toujours une icône de main lors du survol. IE8 (que je dois également prendre en charge) désactive correctement la main et affiche la le curseur.

Des suggestions sur la façon d'appliquer le comportement d'IE dans Chrome et Firefox?

18
Ben McCormick

Vous pouvez définir la règle "curseur" sur une valeur "par défaut". Dans jQuery, vous pouvez utiliser la méthode css .

$(btnid).css("cursor", "default");

Puisque vous utilisez déjà $ (btnid), vous pouvez simplement enchaîner les appels, comme ceci:

$(btnid).attr("disabled","disabled").css("cursor", "default").fadeTo(500,0.2);
26
Seth Flowers

Vous pouvez également définir un style de cursor: default au bouton.

5
Shawn Steward

Vous pouvez définir css comme ceci:

$(btnid)
  .attr("disabled","disabled")
  .css('cursor','default')
  .fadeTo(500,0.2);
5
A. Wolff