Typeahead — это когда поле ввода показывает подсказки прямо во время набора текста. Например, в браузере или Apple Spotlight.
Есть два вида typeahead:
Автор статьи изучал, как реализовать typeahead с выделенным текстом на вебе. Оказалось, что это не стандартная функция HTML. Нужно создавать наложение поверх поля ввода, чтобы показывать подсказки и скрывать курсор.
Основные особенности:
Автор пробовал разные подходы — используя реальный текстовый выбор, но это плохо работает на iOS. Поэтому выбрал наложение с точной синхронизацией стилей.
Для управления событиями использовались нестандартные события, например beforeInput. Это дало возможность точно контролировать ввод, удаление и отображение подсказок.
Интересно, что использование системных цветов выделения не всегда работает из-за ограничений браузеров и настроек пользователя. Пришлось выбирать кастомные цвета для подсветки.
Подробности и живую демо-версию можно посмотреть в оригинальной статье. Там много технических деталей и примеров кода.
Изучить подход и попробовать можно по ссылке: Design engineering 101: Typeahead. Это полезно для тех, кто хочет сделать удобный и быстрый поиск на сайте.
Этот приём помогает держать внимание пользователя в поле ввода и ускоряет выбор нужного варианта без лишних движений мышкой.
Поделиться:
Прогрев кеша в Claude API для снижения задержки первого токена (TTFT) →
Эссе Маттиаса Отта о разделении дизайна и разработки как устаревшем индустриальном наследии →