Altro
Cosa significa "javascript:void(0)"?
<a href="javascript:void(0)" id="loginlink">login</a>
Ho visto molte volte questi href
, ma non so cosa significhi esattamente.
1281
3
L'operatore
void
valuta l'espressione data espressione e poi restituisceundefined
.Una spiegazione è fornita qui: operatore
void
.La ragione per cui vorresti fare questo con il
href
di un link è che normalmente, un URLjavascript:
reindirizzerà il browser a una versione di testo semplice del risultato della valutazione di quel JavaScript. Ma se il risultato èundefined
, allora il browser rimane sulla stessa pagina.void(0)
è solo un breve e semplice script che valuta aundefined
.Significa che non farà nulla. È un tentativo di far sì che il link non "navighi" da nessuna parte. Ma non è il modo giusto.
Dovresti semplicemente "restituire false" nell'evento
onclick
, così:Tipicamente è usato se il link sta facendo qualche cosa di 'JavaScript-y'. Come postare un modulo AJAX, o scambiare un'immagine, o altro. In questo caso si fa in modo che qualsiasi funzione venga chiamata restituisca
false
.Per rendere il tuo sito completamente fantastico, comunque, generalmente includerai un link che fa la stessa azione, se la persona che lo naviga sceglie di non eseguire JavaScript.
Dovresti sempre avere un href sui tuoi tag a. Chiamare una funzione JavaScript che restituisce 'undefined' andrà benissimo. Anche il collegamento a '#'.
I tag di ancoraggio in Internet Explorer 6 senza un href non ottengono lo stile
a:hover
applicato.Sì, è terribile e un piccolo crimine contro l'umanità, ma anche Internet Explorer 6 in generale.
Spero che questo aiuti.
Internet Explorer 6 è effettivamente un grande crimine contro l'umanità.