2013-03-28 13 views
7

Ho un menu a discesa Bootstrap. Quando seleziono un valore dal menu a discesa, lo stato attivo passa alla parte superiore della pagina. Le opzioni di classe per il menu a tendina sono i seguenti:Il menu a discesa Bootstrap causa la messa a fuoco per passare all'inizio della pagina

<a class = "btn dropdown-toggle" data-toggle = "dropdown" data-target = "#"> 
    <span class = "caret"></span> 
</a> 

esempio jFiddle here. Dovrai scorrere verso il basso nella finestra dei risultati per vedere il menu a discesa.

Qual è il modo migliore per porre rimedio a questo comportamento?

+0

Potete provare e rimuovere il #, che causerà che il comportamento - http://jsfiddle.net/ W7gbj/1/ – Jimmyt1988

+0

@JamesT Ciao James, ho provato a rimuovere il #, ma non cambia il comportamento –

+0

Ok, guarderò oltre. Le mie scuse – Jimmyt1988

risposta

17

Nel tuo codice hai # ancore.

Quando qualcuno fa clic su questo, il browser si sposta nella parte superiore della pagina alla ricerca di un'ancora che non esiste.

Anche se si rimuove il #, il collegamento penserà che è necessario aggiornare la pagina.

Se è necessario l'ancora per lo styling, fare qualcosa di simile:

<a href = "javascript:return false;">link text</a> 

http://jsfiddle.net/W7gbj/7/

+1

Mi è capitato di avere un violino fatto con javascript: void (0), quindi l'ho buttato lì dentro. Spero non ti dispiaccia. – isherwood

+0

ahhh javascript: void (0) lol non lo sapevo. Ora mi sento lol colpevole. Grazie Brah. – Jimmyt1988

+0

O funziona nella maggior parte dei casi. Ci sono un numero di discussioni su SO su quale usare. – isherwood

Problemi correlati