Выбор ответа Middle События обновлено
Зачем passive: true
Вопрос
Зачем передавать { passive: true } слушателю touchmove?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Браузер прокручивает сразу, не ждёт обработчик: preventDefault не будет. Пассивный слушатель обещает не отменять действие по умолчанию.
Варианты ответа
- Обработчик выполнится в отдельном потоке и не будет нагружать главный
- Событие перестанет всплывать к родителям, и браузер обработает его быстрее
- Браузер прокручивает сразу, не ждёт обработчик:
preventDefaultне будетправильный ответ - Обработчик будет вызываться реже, с встроенным троттлингом до 60 раз в секунду
Разбор
Пассивный слушатель обещает не отменять действие по умолчанию. Тогда браузеру не надо ждать окончания JS перед прокруткой, и она остаётся плавной. Вызов preventDefault внутри такого слушателя игнорируется. Отдельного потока для JS нет, всплытие не меняется, троттлинга опция не даёт.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.