in un link (tag A) l'href indica cosa vuoi visualizzare (dove vuoi che il browser sia indirizzato) e l'onclick indica cosa deve fare quando si clicka (tramite uno script, per cui non serve scrivere javascript:).
L'onclick si verifica un attimo prima dell'href quindi se ritorni false l'href non viene considerato.
Puoi eseguire javascript anche nell'href
codice:
link
però se esegui una funzione che restituisce qualcosa il browser proverà a visualizzare questo qualcosa, infatti se provi a fare così
codice:
link
ti si aprirà una nuova finestra ma quella che conteneva il link visualizzerà la scritta [object]
per evitare che il browser visualizzi il risultato della funzione basta mettere un void(0); come ultima istruzione
codice:
link