Duplicar posible:
How do I stop a web page from scrolling to the top when a link is clicked that triggers javascript?enlace con la página href = "#" se desplaza a la parte superior cuando se utiliza con jQuery slideToggle
estoy usando slideToggle de jQuery para mostrar divs/ocultar. el elemento que controla el deslizamiento es un enlace de texto (texto dentro de < \ a>) que tiene href = "#" por lo que se verá como un enlace (subrayado, cambio de cursor).
el problema es que cuando se hace clic en el enlace, además del efecto deslizante, , la página se desplaza hacia arriba.
intenté reemplazar href = "#" con href = "" pero eso deshabilita el efecto mostrar/ocultar div. supongo que podría agregar a la etiqueta Name = "somename" y luego establecer href a href = "# somename" pero preferiría no utilizar trucos como ese.
¿por qué href = "#" desplaza la página hacia la parte superior?
cualquier idea sería muy apreciada
gracias a todos por sus respuestas. utilicé return false y funciona perfectamente stackoverflow es increíble! – samoyed
Excelente solución thenduks, me salvó un montón de problemas =) –
'return false;' NO es la forma correcta de manejar esto. Muy a menudo, los desarrolladores lanzan lentamente 'return false;' al final de sus manejadores de eventos sin entender las consecuencias de esta acción. No hay ninguna razón para evitar la propagación del evento. Todo lo que necesita hacer aquí es evitar la acción predeterminada del agente de usuario. Entonces, 'preventDefault()' es la función correcta para usar aquí. –