Mam ten link na mojej stronie HTML:
<a href = ""
onclick = "setBodyHtml ('new content'); return false; "
> click here </a>
Funkcja setBodyHtml () jest zdefiniowana jako:
function setBodyHtml (s)
{ document.body.innerHTML = s;
}
Po kliknięciu linku link znika, a tekst wyświetlany w przeglądarce zmienia się na „nową treść”.
Ale jeśli usunę „fałsz” z mojego linku, kliknięcie linku (pozornie) nic nie robi. Dlaczego?
Dzieje się tak dlatego, że jeśli nie zwrócę wartości false, domyślne zachowanie kliknięcia łącza i wyświetlenia strony docelowej nie zostanie anulowane. ALE tutaj href hiperłącza to „”, więc łączy się z powrotem z tą samą stroną. Tak więc strona jest właśnie odświeżana i na pozór nic się nie dzieje.
W tle nadal działa funkcja setBodyHtml (). Przypisuje swój argument do body.innerHTML. Ponieważ jednak strona jest natychmiast odświeżana / ponownie ładowana, zmodyfikowana treść nie jest widoczna dłużej niż przez kilka milisekund, więc jej nie zobaczę.
Ten przykład pokazuje, dlaczego czasami użyteczne jest użycie „return false”.
Chcę przypisać NIEKTÓRE href do linku, aby wyświetlał się jako link, jak podkreślony tekst. Ale nie chcę, aby kliknięcie linku skutecznie po prostu ponownie ładowało stronę. Chcę, aby ta domyślna nawigacja = zachowanie została anulowana, a wszelkie skutki uboczne są wywoływane przez wywołanie mojej funkcji w celu włączenia i pozostania w mocy. Dlatego muszę „zwrócić fałsz”.
Powyższy przykład to coś, co szybko wypróbujesz podczas programowania. W przypadku produkcji bardziej prawdopodobne jest przypisanie modułu obsługi kliknięć w JavaScript i wywołanie metody preventDefault (). Ale w przypadku szybkiego wypróbowania powyższe „powrót fałszu” załatwia sprawę.