Зависает WebApp на iOS 17.x при нажатии мимо выпадающего меню

Всем привет, пробую писать бота на python с библиотекой aiogram, создал inline клавиатуру с webapp В разметке кода страницы есть

На ПК и на Андроиде все работает без проблем, тыкается куда нужно, ничего не зависает На устройствах iOS 17.x возникает проблема: Если раскрыть список и пока он открыт тыкнуть или свайпнуть в другом месте, то вся страница зависает, релоад через 3 точки не помогает. Спасает только закрытие WebApp и открытие заново нажатием по инлайн кнопке.

Миску риса осведомленным, дайте совет, пожалуйста.

Пробовал в js вставлять element.blur() по советам из интернетов, делать невидимый блок на фоне, запрещать скролл, делать body { position: fixed } в css. Ничего не спасло.


Ответы (1 шт):

Автор решения: fdf228

Есть вариант переписать список из условного <ul> в <div> (можно найти такую реализацию на codepen) и при открытии такого списка вешать на все остальные блоки, кроме самого списка (представим, что выпадающий список у нас имеет class="selector", а все остальное находится в class="main", без использования body). Тогда можно будет отлавливать event onclick на body и отсекать нажатие на список, а если нажимают мимо списка - закрывать его.

→ Ссылка