64 votes

Meilleure façon de désactiver un bouton dans Bootstrap de Twitter

Je suis confus lorsqu'il s'agit de désactiver un élément "bouton", "input" ou "a" avec les classes : "btn" ou "btn btn-primary", avec JavaScript/jQuery.

J'ai utilisé l'extrait suivant pour ce faire :

$('button').addClass('btn-disabled');
$('button').attr('disabled', 'disabled');
$('button').prop('disabled', true);

Donc, si je fournis juste le : $('button').addClass('btn-disabled'); à mon élément, il apparaîtra comme désactivé, visuellement, mais la fonctionnalité restera la même et il sera néanmoins cliquable, c'est la raison pour laquelle j'ai ajouté l'élément attr y prop à l'élément.

Quelqu'un a-t-il rencontré le même problème ? Est-ce la bonne façon de procéder - en utilisant le Bootstrap de Twitter ?

0voto

Schone Points 17

Quel que soit l'attribut ajouté au bouton/ancre/lien pour le désactiver, bootstrap ne fait qu'y ajouter du style et l'utilisateur pourra toujours cliquer dessus tant que l'événement onclick sera présent. Ma solution simple consiste donc à vérifier s'il est désactivé et à supprimer/ajouté l'événement onclick :

if (!('#button').hasAttr('disabled'))
 $('#button').attr('onclick', 'someFunction();');
else
 $('#button').removeattr('onclick');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X