Ho una pagina con alcune funzioni jQuery. L'HTML nella pagina è simile al seguente:href = "#" Vai all'inizio della pagina - Prevenire?
<a href="#" class="service">Open</a>
Quando faccio clic sul pulsante Apri, un pannello nascosto scorre. Lo stesso jQuery funziona benissimo, tuttavia quando clicco sul pulsante mi porta anche in cima alla pagina.
È questo il comportamento difettoso e come si impedisce a ogni href="#"
di portarmi in cima alla pagina.
Nota: potrei aggiungere id e dire a href di indirizzare a quell'ID. Non voglio farlo per vari motivi (incluso l'aggiunta di codice non necessario).
Potrebbe anche essere necessario utilizzare 'return false' alla fine del blocco di codice per ignorare il browser predefinito di scorrimento nella parte superiore della pagina. – bafromca
@bafromca: Assolutamente no. Chiamare 'preventDefault' è sufficiente; come suggerisce il nome, impedisce l'azione predefinita (seguendo l'ancora e andando all'inizio della pagina). 'return false' fa anche questo, e fa anche l'equivalente di chiamare' stopPropagation' che, come suggerisce il nome, impedisce all'evento di propagarsi fino agli elementi parent; ma se tutto ciò che si vuole fare è impedire al browser di scorrere in cima alla pagina, non c'è * bisogno * di 'return false'. – icktoofay