Détails
jQuery désactiver un lien
Quelqu'un sait-il comment désactiver un lien dans jquery SANS utiliser return false;
?
Plus précisément, ce que j'essaie de faire, c'est de désactiver le lien d'un élément, en effectuant un clic dessus à l'aide de jquery, ce qui déclenche certaines choses, puis en réactivant ce lien de sorte que s'il est cliqué à nouveau, il fonctionne comme par défaut.
Merci. Dave
MISE À JOUR
Voici le code. Ce qu'il doit faire après que la classe .expanded
ait été appliquée est de réactiver le lien désactivé.
$('ul li').click(function(e) {
e.preventDefault();
$('ul').addClass('expanded');
$('ul.expanded').fadeIn(300);
//return false;
});
276
3
Cela empêchera le comportement par défaut d'un hyperlien, qui consiste à visiter le href spécifié.
Extrait du [tutoriel] de jQuery[1] :
Si vous voulez
preventDefault()
uniquement si une certaine condition est remplie (quelque chose est caché par exemple), vous pouvez tester la visibilité de votre ul avec la classe expanded. S'il est visible (c'est-à-dire s'il n'est pas caché), le lien devrait se déclencher normalement, car l'instruction if ne sera pas saisie, et le comportement par défaut ne sera donc pas empêché :[1] : http://docs.jquery.com/Tutorials:How_jQuery_Works
[1] : http://docs.jquery.com/Tutorials:How_jQuery_Works
Essayez ça :
EDIT-
A partir de votre code mis à jour :
Il suffit de déclencher des trucs, de mettre un drapeau, de retourner faux. Si le drapeau est activé - ne rien faire.