Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Come disabilitare un link

    Come posso disabilitare un link? Non deve essere cliccabile. in pratica voglio che cliccando su una checkbox, alcuni link non sono più attivi, ho scritto questo, ma non funziona

    myIdLink.disabled=1;

    ho provato anche con il true, ma non va.

  2. #2
    mmm beh, i link non hanno l'attributo disabled.

    A mio avviso l'unica è associare all'evento onclick questa funzione:

    codice:
    function doNothing(e){
       var evt = window.event || e;
       evt.cancelBubble = true;
       evt.returnValue = false;
       return false;
    }
    in questo modo

    myIdLink.onclick = doNothing;
    I DON'T Double Click!

  3. #3
    Originariamente inviato da artorius
    mmm beh, i link non hanno l'attributo disabled.

    A mio avviso l'unica è associare all'evento onclick questa funzione:

    codice:
    function doNothing(e){
       var evt = window.event || e;
       evt.cancelBubble = true;
       evt.returnValue = false;
       return false;
    }
    in questo modo

    myIdLink.onclick = doNothing;
    I link potrebbero anche non essere cliccati, l'utente potrebbe cliccare direttamente nella checkbox, e in quel caso si devono disabilitare.

  4. #4
    Una cosa del genere ad esempio?

    <body onload="check()">

    <input id="check" type="checkbox" onchange="check()" />

    mio link

    la funzione check...

    function check(){
    if(document.getElementById("check").checked == "false")
    document.getElementById("pag1").href = ""
    }

    Dovrebbe funzionare, non ho provato, comunque la logica dovrebbe essere questa, e se vuoi disabilitare più link basta aggiungerli nella if.
    Magari faccio qualche prova e ti faccio sapere,
    Ciao.

  5. #5
    Originariamente inviato da peppeocchi
    Una cosa del genere ad esempio?

    <body onload="check()">

    <input id="check" type="checkbox" onchange="check()" />

    mio link

    la funzione check...

    function check(){
    if(document.getElementById("check").checked == "false")
    document.getElementById("pag1").href = ""
    }

    Dovrebbe funzionare, non ho provato, comunque la logica dovrebbe essere questa, e se vuoi disabilitare più link basta aggiungerli nella if.
    Magari faccio qualche prova e ti faccio sapere,
    Ciao.
    Sicuramente funziona, ma non dovrebbe comparire la mano, l'unica cosa che mi è venuta in mente è di creare i link dinamicamente al caricamento della pagina, in questo modo quando si clicca sulla checkbox sostituisco i link con del testo normale. ma se l'utente ha javascript disabilitato tutto questo non funziona, dovrei mettere un controllo a monte.

  6. #6
    Ma qualcosa tipo :

    document.getElementById('myLink').href= '';

  7. #7
    In teoria se un link non ha nessua pagina di riferimento, la mano non compare.....ma se dovesse comparire puoi cambiare l'attributo cursor dello stile css del tuo elemento...

  8. #8
    Originariamente inviato da valerio.bruno
    Ma qualcosa tipo :

    document.getElementById('myLink').href= '';
    Questo codice per 2 motivi non mi va bene, il primo perchè compare la mano, il secondo perchè se ricliccano sulla checkbox il link si deve riattivare, e in questo caso devo ricostruire il link, tanto vale farlo dall'inizio.


    Ma quei siti che quando compare uno spot pubblicitario disabilita tutti i link che sono sotto, come fa? è un div posizionato sopra con un'immagine di sfondo in semitrasparenza?

  9. #9
    Devi giocare su valori che passi alla funzione.
    Una cosa che mi sta venendo in mente adesso è che ad esempio insieme alla funzione, passi un numero, 1 ad esempio.
    Dentro la funzione metti un contatore, ogni click sulla checkbox lo fa incrementare di uno. Metti un controllo tipo if(contatore%2==0) disabilita il link, altrimenti abilitalo.

    Il problema della mano, te l'ho detto, in teoria se il link non si riferisce a niente, non dovrebbe neanche spuntare, e non dovrebbe assomigliare neanche ad un link (quindi neanche sottolineato), altrimenti cambia l'attributo cursor dello stile dell'elemento.

  10. #10
    Originariamente inviato da peppeocchi
    Devi giocare su valori che passi alla funzione.
    Una cosa che mi sta venendo in mente adesso è che ad esempio insieme alla funzione, passi un numero, 1 ad esempio.
    Dentro la funzione metti un contatore, ogni click sulla checkbox lo fa incrementare di uno. Metti un controllo tipo if(contatore%2==0) disabilita il link, altrimenti abilitalo.

    Il problema della mano, te l'ho detto, in teoria se il link non si riferisce a niente, non dovrebbe neanche spuntare, e non dovrebbe assomigliare neanche ad un link (quindi neanche sottolineato), altrimenti cambia l'attributo cursor dello stile dell'elemento.
    Ho provato, mettendo href='' la mano si vede ugualmente.
    Poi non ho problemi a capire quando abilitarlo oppure no, quello ci pensa la checkbox, il mio problema è non renderlo attivo, o non far vedere la mano, in pratica come se fosse un testo normale.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.