Когда и зачем возвращать false в JavaScript? - PullRequest
128 голосов
/ 13 мая 2009

Когда и почему return false в JavaScript?

Ответы [ 12 ]

83 голосов
/ 13 мая 2009

Часто в обработчиках событий, таких как onsubmit, возвращение false - это способ указать, что событие на самом деле не сработало. Так, скажем, в случае onsubmit это будет означать, что форма не отправлена.

67 голосов
/ 13 мая 2009

Я предполагаю, что вы имеете в виду тот факт, что вам часто приходится ставить 'return false;' оператор в ваших обработчиках событий, т.е.

<a href="#" onclick="doSomeFunction(); return false;">...

Возвращение ложного; в этом случае браузер останавливает переход к текущему местоположению, как указано href = "#" - вместо этого выполняется только doSomeFunction (). Это полезно, когда вы хотите добавить события в теги привязки, но не хотите, чтобы браузер перепрыгивал вверх и вниз на каждую привязку при каждом клике

28 голосов
/ 13 мая 2009

Используется, чтобы остановить распространение события . Вы видите, когда у вас есть два элемента, оба с обработчиком события щелчка (например)

-----------------------------------
| element1                        |
|   -------------------------     |
|   |element2               |     |
|   -------------------------     |
|                                 |
-----------------------------------

Если вы щелкнете по внутреннему элементу (element2), он вызовет событие щелчка в обоих элементах: 1 и 2. Он называется «Пузырьком событий». Если вы хотите обработать событие только в element2, обработчик события должен вернуть false, чтобы остановить распространение события.

Другим примером будет обработчик ссылки. Если вы хотите, чтобы ссылка перестала работать. Вы можете добавить обработчик onclick и вернуть false. Чтобы остановить распространение события в обработчик по умолчанию.

18 голосов
/ 13 мая 2009

Э-э ... как в булевой функции для обозначения «не верно»?

6 голосов
/ 13 мая 2009

При использовании функции jQuery each возвращаемое значение true или false имеет значение. См. документ

3 голосов
/ 13 мая 2009

Я думаю, что лучший вопрос заключается в том, почему в случае, когда вы оцениваете логический набор возвращаемых значений, вы НЕ использовали бы true / false ? Я имею в виду, вы могли бы иметь истину / нуль, истину / -1, другое разное. Javascript «ложные» значения для замены, но зачем вам это делать?

2 голосов
/ 02 апреля 2017

возвращает false, используя только если у вас есть какой-либо рабочий в функции (с помощью некоторого теста) или вы хотите остановить какую-то функцию, пример использования return false в конце "onsubmit"

1 голос
/ 22 февраля 2019

Также эта короткая и интересная ссылка для прочтения https://www.w3schools.com/jsref/event_preventdefault.asp

Определение и использование

Метод protectDefault () отменяет событие, если его можно отменить, что означает, что действие по умолчанию, относящееся к событию, не произойдет.

Например, это может быть полезно, когда:

Clicking on a "Submit" button, prevent it from submitting a form
Clicking on a link, prevent the link from following the URL

Примечание. Не все события можно отменить. Используйте свойство cancellable, чтобы узнать, можно ли отменить событие.

Примечание. Метод предотвращение распространения (DOM) не предотвращает дальнейшее распространение события через DOM. Для этого используйте метод stopPropagation ().

1 голос
/ 11 октября 2016

Когда в функции вызывается оператор возврата, выполнение этой функции останавливается. Если указано, заданное значение возвращается вызывающей функции. Если выражение опущено, вместо него возвращается undefined.

Для получения дополнительной информации посетите страницу документов MDN для return.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...