@WorksDens
JustDen

Как динамически создать всплывающее окно для элемента?

62a353b72337e318700634.png
Я хочу создать всплывающее окно, которое срабатывает при выборе текста и нажатии кнопки.

Моя конечная цель — когда пользователь выбирает нужную область текста и нажимает кнопку, это вызывает всплывающее окно под выделяенной областью
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AndrewRusinas
Конкретно для данного случая используйте Selection API. Можете получить Range, а от него getBoundingClientRect() и рассчитать позицию вашего попапа
Ответ написан
mizutsune
@mizutsune
I will live forever in the flame of your eyes.
Поисковые запросы для поиска примеров и готовых решений данной задачи:

popover on selected text
popover on selected text vanilla js
tooltip on text selection

Как это реализовать? Используйте Selection API, как вам и подсказали в соседнем ответе, далее нужно будет определить позицию выделенного текста. Далее создаем popover окно с нужным содержимым, устанавливаем абсолютное позиционирование, добавляем дополнительные стили, а ещё: устанавливаем в качестве параметров top и left, полученные позиции. Вот нашелся вариант: https://codepen.io/FezVrasta/pen/vWXQdq
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы