Vérifier si une variable est impaire VERSUS ajouter une classe dans Jquery
Je veux simplement vérifier si un bouton a été cliqué à l'aide de Jquery, l'approche traditionnelle consiste à ajouter une classe au bouton une fois qu'il a été cliqué.
Cependant, je trouve cette approche plus simple :
var active = 0
$('.buttonSelector').on('click',()=>{
active += 1
if (active %2){
console.log('Not active')
} else {
console.log('Button is active')
}
})
Y a-t-il quelque chose qui ne va pas avec mon approche ?
Montrez la meilleure réponse
Publié : 3 January, 2022 @ 11:29
Ce que je recommanderais, c'est de définir flag sur true au clic, tandis que false comme valeur initiale. En général, votre approche est bonne.
Publié : 3 January, 2022 @ 11:34
Vous implémentez essentiellement un booléen avec des nombres. Il y a un problème potentiel avec ce code. Les nombres ne sont pas strictement des entiers en JavaScript, donc l'expression (active%2)
peut avoir un petit résidu en raison d'erreurs d'arrondi. L'utilisation d'un booléen serait l'alternative la plus sûre : init avec var active = false;
et bascule avec active = !active
En dehors de cela, si vous n'utilisez pas de classes, vous perdez la possibilité de styliser le bouton en fonction de l'état qui pourrait être mauvaise UX. Mais cela dépend du cas d'utilisation réel
Publié : 3 January, 2022 @ 11:43
Publié : 3 January, 2022 @ 11:51
Cela a l'air bien plus simple, merci !
Publié : 4 January, 2022 @ 10:39