2012-01-31 10 views

Odpowiedz

0

Można użyć JavaScript, aby zapobiec zachowanie domyślne łącza, prosty przykład jako:

<a href="#myanchor" onclick="return false;">link</a> 
+0

positon z div z id nie zmienia się, gdy używam twojego fragmentu – Tomkay

+0

zaznaczam to w dół, bo inline js to koszmar - moim zdaniem – matpol

+0

oczywiście wykonuje on zadanie po zatrzymaniu skoku, ale także zatrzymuje wydarzenie –

14

Wystarczy użyć:

<a href="javascript:void(0);">Text</a> 
+1

I oznaczyłem to na: http://stackoverflow.com/questions/2321469/when-do-i-need-to-specify-the-javascript-protocol – matpol

+0

event.preventDefault(); jest lepszym rozwiązaniem –

+0

ładne ... dziękuję – mostafaznv

17

Najbardziej semantyczny i sensowne podejście do tego problemu byłoby obsłużyć zdarzenie onclick z poziomu JavaScript. Najlepiej byłoby, gdyby plik ten był najlepiej przechowywany w osobnym pliku, jednak wystarczyłby skrypt w linii w pliku problemu. Oto, jak zaleciłbym podejście do tego problemu, jeśli już korzystasz z biblioteki JavaScript, takiej jak jQuery.

przypisać identyfikator
zawierać atrybut id do swojej kotwicy więc mógł być wybrany przy użyciu jQuery:

<a href="#anchor" id="mylink" title="Title Here">Link Text</a> 

Bind zdarzenia kliknięcia
Od wewnątrz linii w-pliku JavaScript/Skrypt zawiera:

$('#mylink').click(function(event) { 

    // This will prevent the default action of the anchor 
    event.preventDefault(); 

    // Failing the above, you could use this, however the above is recommended 
    return false; 

}); 

Powyższa metoda została rozwinięta w pełni wykorzystując strony internetowe jQuery API: http://api.jquery.com/event.preventDefault/

+2

Czasami chcesz wyłączyć skok i przeprowadzić wszystkie inne domyślne zachowanie, takie jak dołączenie #anchor do lokalizacji bez przeładowania strony. Sam event.preventDefault() nie będzie działać. – Nicholas

Powiązane problemy