2012-01-31 7 views

risposta

0

Si potrebbe utilizzare Javascript per evitare che il comportamento predefinito del collegamento, un semplice esempio essere:

<a href="#myanchor" onclick="return false;">link</a> 
+0

la posizione dei div con l'id non cambia quando uso il frammento – Tomkay

+0

L'ho annotato perché cos inline js è un incubo - a mio parere – matpol

+0

ovviamente fa il lavoro per fermare il salto ma ferma anche l'evento che succede –

14

Basta usare:

<a href="javascript:void(0);">Text</a> 
+1

I contrassegnato come segue: http://stackoverflow.com/questions/2321469/when-do-i-need-to-specify-the-javascript-protocol – matpol

+0

event.preventDefault(); è un'opzione migliore –

+0

nice ... grazie – mostafaznv

17

L'approccio più semantico e significativo a questo problema sarebbe per gestire l'evento onclick da JavaScript. Idealmente questo file sarebbe il migliore per essere memorizzato in un file separato, tuttavia, includendo uno script in linea all'interno del file del problema sarebbe sufficiente. Ecco come avrei consigliato di affrontare questo problema se già utilizzavi una libreria JavaScript come jQuery.

Assegnare un ID
includere un attributo id per il vostro ancoraggio in modo che sia in grado di essere selezionato utilizzando jQuery:

<a href="#anchor" id="mylink" title="Title Here">Link Text</a> 

evento Bind click
Da dentro la vostra linea in-file JavaScript/lo script include quanto segue:

$('#mylink').click(function(event) { 

    // This will prevent the default action of the anchor 
    event.preventDefault(); 

    // Failing the above, you could use this, however the above is recommended 
    return false; 

}); 

Il metodo sopra è esploso completamente integrato utilizzando i siti web dell'API jQuery: http://api.jquery.com/event.preventDefault/

+2

a volte si desidera disabilitare il salto ed eseguire tutti gli altri comportamenti predefiniti come aggiungere #anchor alla posizione senza ricaricare la pagina. event.preventDefault() da solo non funzionerà. – Nicholas