Ho alcuni collegamenti visualizzati su una pagina. Vorrei abilitarli/disabilitarli in base ad altri eventi nella pagina. C'è un modo per farlo con jQuery?Come abilitare/disabilitare dinamicamente i collegamenti con jQuery?
risposta
$('selector_for_links_to_disable').bind('click', function(e){
e.preventDefault();
})
e per l'abilitazione:
$('selector_for_links_to_enable').unbind('click')
Cercare di separare mentre è ancora la funzione di collegamento non funziona. Quindi devi usare "return true;". –
Si potrebbe fare qualcosa di simile:
$('.links').click(function(e){
if([some conditions]){
e.preventDefault();
}
});
Assicurarsi di dimostrare che non funzionano più in qualche modo, in caso contrario i vostri utenti confondersi, lol.
dipende da cosa intendi per "disabilita".
questo renderà loro non fanno nulla:
$("A").click(function() { return false; });
$(document).delegate('.links', 'click', function() {
if ([your condition is true]) {
return false;
}
})
delegazione è meglio che i gestori, in quanto è possibile chiamare prima il DOM è caricato
Si c un fare qualcosa di simile:
<script>
$(document).ready(function() {
$('input#disableall').live('click', function(){
$('a').attr('class', 'disabled');
alert('All links are disabled.');
});
$('input#enableall').live('click', function(){
$('a').attr('class', 'enabled');
alert('All links are enabled.');
});
$('a.disabled').live('click', function(event){
event.preventDefault();
});
});
</script>
<a href='http://www.google.com'>Google<a/>
<a href='http://www.yahoo.com'>Yahoo<a/>
<a href='http://www.hotmail.com'>Hotmail<a/>
<input type='button' id='disableall' value='Disable Links' />
<input type='button' id='enableall' value='Enable Links' />
Quando mi sto dando funzioni ai pulsanti di jQuery, mi piace fare questo:
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 de pulsante. Ora devi solo impostare indice diverso da value1 al tuo link funziona di nuovo
- 1. Come lavorare con i campi creati dinamicamente?
- 2. Disattivazione collegamenti con JQuery
- 3. Creare dinamicamente i pulsanti con Jquery
- 4. Jquery TimePicker: Come modificare dinamicamente i parametri
- 5. JavaScript/jQuery controllare i collegamenti interrotti
- 6. selettore jQuery per i collegamenti con # a href
- 7. Usa jQuery per selezionare i collegamenti visitati
- 8. Jquery: aggiungi querystring a tutti i collegamenti
- 9. Imposta posizione dinamicamente con jquery
- 10. Compilare dinamicamente i valori del modulo con jQuery
- 11. jquery UI tooltip html con collegamenti
- 12. Count Elementi html creati dinamicamente con jquery
- 13. Rimozione di div dinamicamente create con jquery
- 14. Carica jQuery dinamicamente
- 15. Come scrivere i collegamenti javadoc?
- 16. Caricamento SVG in SVGWeb dinamicamente con JQuery
- 17. Sostituisci dinamicamente l'attributo img src con jQuery
- 18. come disattivare determinati collegamenti di jquery fisarmonica
- 19. Come creare dinamicamente elenchi a discesa con jQuery?
- 20. Riattivare i collegamenti disabilitati con disable_with
- 21. Creazione di colonne dinamicamente con Datatables Jquery
- 22. Disabilita e abilita TUTTI i collegamenti ipertestuali usando JQuery
- 23. Come utilizzare javascript per sostituire i tag hash con collegamenti da un attributo dati jquery
- 24. jQuery comportamento.shsh per i collegamenti di ancoraggio in pagina
- 25. I collegamenti iniziano con due barre
- 26. Come controllare "checkbox" dinamicamente - jQuery Mobile
- 27. aprire i collegamenti esterni in una nuova scheda senza jQuery
- 28. È possibile utilizzare i collegamenti in un'etichetta modulo mobile JQuery?
- 29. Disabilita tutti i collegamenti all'interno di IFRAME usando jQuery
- 30. Aggiungo dinamicamente immagini jquery
stai usando html5? o xhtml? – RobertPitt
@robertpitt perché è rilevante? – Yahel
perché se si utilizza html5 allora si può usare 'data- *' per memorizzare i dati come stringhe, in modo da poter memorizzare l'href all'interno di 'data-href' e sostituire la corrente con un' # ', quindi creare un plugin per attivare questo, come '$ ('. disabled'). DisableClick();' puoi farlo con preventDefault ma stavo solo spiegando un modo per html5. – RobertPitt