С собственным полем ввода я могу получить позицию курсора просто отлично. Также любой выделенный текст достаточно легко.
// get cursor position
console.log(input.selectionStart);
// get highlighted text
console.log(input.value.substr(input.selectionStart, input.selectionEnd - input.selectionStart));
Но как мы можем получить полное слово, которого касается курсор?
this is a |sent|ence|
Вопрос:
Если каждая вертикальная черта является потенциальной позицией курсора, клавишей со стрелкой или кликом внутри и вокруг слова, как мы можем получить полное слово «предложение»?
Подвопросы:
- Диапазон или RegEx для этого решения?
- Может ли RegEx искать по положению в строке?
- Может ли Regex найти слово, если задана позиция символа в строке
Исследование:
https://javascript.info/selection-range.
https://developer.mozilla.org/en-US/docs/Web/API/range.
https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint (только для Chrome)
Работа с CodePen с RegEx от друга.