Я маю це посилання на своїй HTML-сторінці:
<a href = ""
onclick = "setBodyHtml ('new content'); return false; "
> click here </a>
Набір функційBodyHtml () визначається як:
function setBodyHtml (s)
{ document.body.innerHTML = s;
}
Коли я натискаю на посилання, посилання зникає, а текст, показаний у браузері, змінюється на "новий вміст".
Але якщо я видалити "помилкове" зі свого посилання, натискання на посилання нічого не здасться. Чому так?
Це тому, що якщо я не повертаю помилкове, поведінка за замовчуванням натискання на посилання та відображення його цільової сторінки трапляється, не скасовується. АЛЕ, тут href гіперпосилання "", тому він посилається на поточну сторінку SAME. Тож сторінка фактично просто оновлюється і, здається, нічого не відбувається.
На задньому плані функція setBodyHtml () все ще виконується. Він присвоює свій аргумент body.innerHTML. Але оскільки сторінка оновлюється / перезавантажується, модифікований вміст тіла не залишається видимим більше декількох мілісекунд, тож я його не побачу.
Цей приклад показує, чому іноді КОРИСНО використовувати "return false".
Я хочу призначити деякий href для посилання, щоб він відображався як посилання, як підкреслений текст. Але я не хочу, щоб натискання на посилання ефективно перезавантажувало сторінку. Я хочу, щоб навігація за замовчуванням = поведінка була скасована і будь-які побічні ефекти, викликані закликом моєї функції прийняти та залишитися в силі. Тому я повинен "повернути помилкове".
Наведений вище приклад - це те, що ви швидко спробуєте під час розробки. Для виробництва ви, швидше за все, призначите обробник кліків у JavaScript і зателефонуйте на попередженняDefault (). Але для швидкого випробування вище "хибність повернення" робить трюк.