Come faccio ad abilitare / disabilitare dynamicmente i collegamenti con jQuery?

Ho alcuni collegamenti visualizzati su una pagina. Vorrei abilitarli / disabilitarli in base ad altri eventi nella pagina. C’è un modo per farlo con jQuery?

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

e per abilitare:

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

Potresti fare qualcosa come:

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

Assicurati di mostrare che non funzionano più in qualche modo, altrimenti i tuoi utenti saranno confusi, lol.

dipende da cosa intendi per “disabilitare”.

questo non farà fare nulla:

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

Puoi fare qualcosa del genere:

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

la delega è migliore dei gestori, perché è ansible chiamarli prima che la dom venga caricata

Quando conferisco le funzioni ai pulsanti di jquery, mi piace farlo:

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

con questo, si ottiene la funzione solo la prima volta che si preme il pulsante. Ora devi solo impostare indice diverso di value1 per il tuo link funziona di nuovo