Href=”#” Nerolovat

Jsem v JS docela nový – tak by mě zajímalo, zda víte, jak tento problém vyřešit.

Aktuální mám ve svém kódu

<a href='#' class="closeLink">close</a>

Který spouští nějaký JS k uzavření krabice. Problém, který mám, je ten, že když uživatel klikne na odkaz, tak href=”#” přenese uživatele na začátek stránky.

Jak to vyřešit, aby to nedělalo? tj. nemohu použít něco jako onclick=”return false”, jak si představuji, že to zastaví fungování JS?

Díky

Odpověď

Obvyklým způsobem, jak toho dosáhnout, je vrátit false z vašeho obslužného programu kliknutí v JavaScriptu. To zabrání probublávání události a zruší normální akci události. Mám zkušenost, že toto je obvykle chování, které chcete.

Příklad jQuery:

$('.closeLink').click( function() {
      ...do the close action...
      return false;
});

Pokud chcete jednoduše zabránit normální akci, můžete místo toho jednoduše použít preventDefault.

$('.closeLink').click( function(e) {
     e.preventDefault();
     ... do the close action...
});