Comment activer / désactiver dynamicment les liens avec jQuery?

J’ai des liens affichés sur une page. Je voudrais les activer / désactiver en fonction d’autres événements de la page. Est-il possible de faire cela avec jQuery?

 $('selector_for_links_to_disable').bind('click', function(e){ e.preventDefault(); }) 

et pour permettre:

 $('selector_for_links_to_enable').unbind('click') 

Vous pourriez faire quelque chose comme:

 $('.links').click(function(e){ if( [some conditions] ){ e.preventDefault(); } }); 

Assurez-vous de montrer qu’ils ne fonctionnent plus d’une manière ou d’une autre, sinon vos utilisateurs seront désorientés, lol.

cela dépend de ce que vous entendez par “désactiver”.

cela les fera ne rien faire:

 $("A").click(function() { return false; }); 

Vous pouvez faire quelque chose comme ça:

  Google Yahoo Hotmail   
 $(document).delegate('.links', 'click', function () { if ([your condition is true]) { return false; } }) 

la délégation est meilleure que les gestionnaires, car vous pouvez les appeler avant que le dom ne soit chargé

Quand je donne des fonctions aux boutons par jquery, j’aime faire ceci:

 indice = ''; $('myLink').live('click',function() { if (indice !== 'value1'){ // your code } indice = 'value1'; return indice; }); 

avec cela, vous obtenez la fonction la première fois que vous appuyez sur le bouton. Maintenant, il vous suffit de définir indice différent de valeur1 à votre lien fonctionne à nouveau