2010-05-18 11 views

Odpowiedz

37

Dodaj return false; na końcu kodu uruchamianego po kliknięciu łącza.

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

Alternatywnie, można chwycić przedmiot event i wywołać .preventDefault().

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

Obie te metody wyłączają domyślne zachowanie linku.

Pierwsza z nich zapobiega także bulgotaniu, więc używaj go tylko wtedy, gdy nie ma potrzeby korzystania z bąbelkowania zdarzeń.

+0

dziękuję. działa idealnie – shaikh

3

To dlatego, że nie jest to domyślne działanie wiąże się z elementów, takich jak linki, pola wyboru, przyciski radiowe itp Można odwołać go tak:

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

Więcej informacji tutaj: http://api.jquery.com/event.preventDefault/

W rzadkich przypadkach o dołączeniu obsługi zdarzeń do potomka łącza, będziesz również chciał użyć event.stopPropagation(), aby zatrzymać wydarzenie bulgotania w DOM.

Powiązane problemy