Evento al secondo click su un ancora

fradamma

Utente Attivo
28 Set 2012
93
0
0
Salve a tutti.

Ho il seguente codice:

Codice:
<ul>
<li><a class="linka" href="http://forum.mrwebmaster.it/" target="_blank">CLICCA</a></li>
<li><a class="" href="http://forum.mrwebmaster.it/" target="_blank">CLICCA</a></li>
<li><a class="" href="http://forum.mrwebmaster.it/" target="_blank">CLICCA</a></li>
<li><a class="" href="http://forum.mrwebmaster.it/" target="_blank">CLICCA</a></li>
</ul>

Al PRIMO "click" sul link con classe "linka" si deve verificare l'evento predefinito, il trasferimento su un altro sito. Questo però accade dopo tantissimo tempo perchè il problema è che i tempi di caricamento del sito sono molto lunghi (è un problema di sistema che riguarda il backend su cui non posso intervenire assolutamente). Capita allora che l'utente spazientito clicchi una seconda volta sullo stesso link, ma in questo caso appare un messaggio di errore che non deve essere visualizzato.
Quello che devo fare è "svuotare" l'attributo "href" solo al SECONDO click su quello stesso link con classe "linka". Come posso fare? Se avete altre proposte sono ben accette! E' un problema abbastanza serio potreste darmi una mano? ve ne sarei molto grato.

Grazie a tutti, buona serata.
 
Ciao, potresti disabilitarlo una volta premuto
Codice:
$(document).ready(function(){
        $("a").click(function(){
            $(this).attr("onclick","return false;");
        })
    })
 
Ciao, potresti disabilitarlo una volta premuto
Codice:
$(document).ready(function(){
        $("a").click(function(){
            $(this).attr("onclick","return false;");
        })
    })

Ciao Criric,
il problema è al secondo click dell'utente sullo stesso link, quello che voglio è che al primo link vada tranquillamente a destinazione, se l utente spazientito per i tempi d attesa clicca una seconda volta il link invece non devo funzionare. E' una cosa un tantino più complessa...
 
Ma lo hai provato?
il secondo click non te lo fa fare, niente di complicato
 
Ma lo hai provato?
il secondo click non te lo fa fare, niente di complicato
.
Si l'ho provato. Il secondo click me lo fa fare...è appunto quello il problema: voglio che al secondo click e successivi il link divenga semplice testo. Ho provato anche a giocare con "bind" e "unbind" abbinati a preventDefault() ma non sono riuscito a cavare nulla...
 
Probabilmente hai scritto male perchè l'ho testato prima di postarlo e funziona
hai invluso la libreria jquery?
posta come lo hai scritto
 
Probabilmente hai scritto male perchè l'ho testato prima di postarlo e funziona
hai invluso la libreria jquery?
posta come lo hai scritto

Scusa Criric, avevo capito male. Cmq il codice non funziona, guarda tu stesso: http://jsfiddle.net/KjyVt/

Il problema però è che dovrebbe esserci un evento del tipo "onsecondclick" che in realtà non esiste :-)
Io voglio che accada qualcosa al secondo click dell'utente. Al primo click il link deve funzionare correttamente ed andare alla pagina voluta. Se e solo se, l'utente clicca una seconda volta, il click deve diventare semplice testo non cliccabile.
 
In realtà il codice funziona. Il testo è cliccabile ma non sarai indirizzato su nessuna pagina se clicchi più di una volta.
Prova a chiudere la pagina che si apre e vedi se, cliccando ancora sullo stesso CLICCA, te la apre.
 
Quoto Longo8, il codice funziona : il secondo click non porta a niente
ps
invece non funzionerà più fino a che non si aggiorna la pagina ( ma questo è un'altro problema )
 
Ultima modifica:
Quoto Longo8, il codice funziona : il secondo click non porta a niente
ps
invece non funzionerà più fino a che non si aggiorna la pagina ( ma questo è un'altro problema )

Ragazzi forse c'è un passaggio che salto. Come potete vedere dall'esempio: http://jsfiddle.net/KjyVt/

anche se chiudo la finestra che si apre al primo click, al secondo click la finestra me la apre lo stesso.... come è possibile?
 
Ovvio, al secondo, terzo e quarto funzionerà. Ad ogni CLICK dopo la prima volta che premi non funziona più ma solo il CLICK che hai premuto non tutti.
Edit: In questo modo disattivi tutte le ancore della tua pagina, se vuoi disattivarne solo alcune allora basta mettere una classe.
 
Ultima modifica:
Forse ho capito
Stai usando chrome?
perchè ho notato che funziona con Firefox e Explorer
dopo provo ad indagare
 
non ho avuto tempo di indagare .. mettiamoci una pezza
Codice:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
    $(document).ready(function(){
        $("a").click(function(){
            if($(this).attr("href")) {
                window.open($(this).attr("href"));
                $(this).removeAttr("href");
            }       
            return false;
        })
    })
</script>
<ul>
    <li><a class="linka" href="http://forum.mrwebmaster.it/">CLICCA</a></li>
</ul>
 
non ho avuto tempo di indagare .. mettiamoci una pezza
Codice:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>
    $(document).ready(function(){
        $("a").click(function(){
            if($(this).attr("href")) {
                window.open($(this).attr("href"));
                $(this).removeAttr("href");
            }       
            return false;
        })
    })
</script>
<ul>
    <li><a class="linka" href="http://forum.mrwebmaster.it/">CLICCA</a></li>
</ul>

Nada...non funziona... vedi: http://jsfiddle.net/Z528v/
 
provalo in locale o sul tuo sito, ti assicuro che funziona
 
Li non funziona perchè non viene caricata la libreria jquery.
Infatti l'errore che da firebug è questo:

asdasd.png
 
giusto, ma ho visto che si puo caricare dal pannello di sinistra
 

Discussioni simili