У меня есть div contentEditable со следующим текстом, например:
<div contentEditable='true'> This document is classified</div>
Теперь, например, если пользователь нажимает «m» в текстовом документе, я хочу показать контекстное меню, содержащее несколько вариантов выбора текста. Это контекстное меню будет содержаться в элементе div. Я хочу заменить слово «документ» на вариант (текст), выбранный пользователем из контекстного меню. По моему мнению, я должен найти абсолютную позицию щелчка, чтобы показать контекстное меню, а затем мне нужно найти пробелы до и после позиции каретки, а затем заменить выбор на вариант, выбранный из контекстного меню. Любая идея, как я могу сделать это, используя JavaScript и jQuery?
Edit:
одна часть моего вопроса касается контекстного меню, а другая, более важная, состоит в том, как я могу определить слово, по которому пользователь щелкнул в элементе содержимого div или в текстовой области с другой стороны. моя цель примерно такая, как на картинке ниже
на самом деле я хочу сделать подобное приложение транслитерации. процесс преобразования скрипта с римского на урду был выполнен, однако я сталкиваюсь с множеством проблем при разработке пользовательского интерфейса в Интернете. Приложение для транслитерации Google можно найти здесь . Я надеюсь, что кто-то может помочь мне получить слово под мышью пользователя и отобразить контекстное меню, содержащее несколько вариантов выбора.