jquery toggle: clicar no link pula voltar ao topo da página

Eu criei um jquery toggle, mas quando eu clico no link para abrir um div, ele vai pular para o topo da página. Como posso consertar isso?

Eu sei que poderia replace o link com outra coisa, mas preciso deixar claro para os usuários que é um link e que eles podem clicar nele.

Adicionar return false; até o final do código que é executado quando você clica no link.

 $('a.myLink').toggle(function() { // run my code return false; }); 

Como alternativa, você pode pegar o object de event e chamar .preventDefault() .

 $('a.myLink').toggle(function(event) { event.preventDefault(); // run my code }); 

Ambos os methods desativam o comportamento padrão do link.

O primeiro também evitará que o evento borbulhe, portanto, use-o somente se você não tiver necessidade de utilizar o evento borbulhando.

Isso ocorre porque há uma ação padrão associada a elementos como links, checkboxs de seleção, botões de opção, etc. Você pode cancelar da seguinte forma:

 $('a.mylink').click(function(ev) { // Pass in the event object to your function // do stuff ev.preventDefault(); return false; }); 

Mais informações aqui: http://api.jquery.com/event.preventDefault/

No caso raro de append um manipulador de events a um filho de um link, você também desejará usar event.stopPropagation() , para interromper o evento borbulhando o DOM.