Часто использую функцию jQuery API each(), но иногда требуется досрочно прервать выполнение этого цикла. Итак, как выйти из $.each()?
Обработка происходит внутри функции, и на выходе требуется сигнализировать API что делать дальше. Перебор элементов будет прекращен, если вы вернете false.
|
|
$('selector').each(function (index, item) { // какой то ваш код if ( ... ) { // и тут вы принимаете решение прервать // дальнейший перебор элементов, // возвращая false return false; } }) |
В документации это описано одной фразой:
Use return false to break out of each() loops early.
Видимо, поэтому её многие пропускают мимо :). В сети можно встретить такие экзотические советы, как использование try/catch, внутри которого прерывание организуется исключительной ситуацией с помощью throw.
Данная запись опубликована в 17.11.2018 15:33 и размещена в рубрике jQuery.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Ноябрь 1, 2015 г.
Этот виджет может найти применение для сайта дизайнера или фотографа, которые занимаются реставрацией или обработкой изображений. Наверное, приложений ...
Читать
Октябрь 26, 2015 г.
Одна из типичных задач для улучшения пользовательского интерфейса на сайтах - это визуализация ожидания загрузки/обновления страницы. Наиболее частый случай ...
Читать
Май 8, 2023 г.
В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией.
Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...
Читать
Октябрь 25, 2023 г.
Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен.
Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...
Читать