Самый простой вариант - вычисляешь позицию инпута, позиционируешь по этой позиции свой попап. Попап делаешь position:fixed. Правда скролл будет проблемой.
И еще: я считаю что фокус не нужно убирать с инпута. То есть в попапе будет виртуальный фокус. Если не делаешь сайт для слепых, то это не будет проблемой. Иначе атрибут aria-activedescedant или что-то такое в помощь. Это упростит появление/скрытие попапа. По фокусу - показываем, по блюру - скрываем. Хотя могут возникнуть проблемы.
__________________
В личку только с интересными предложениями
|