У меня есть приложение, которое исправляет текст.
window.addEventListener("keydown", function(e) {
if (e.code == "Space") {
format();
}
}, true);
Функция format
- это функция, которая анализирует значение textarea, выделяет ошибки и возвращает HTML-код отформатированной области.
function format() {
data = {
paragraphs: 0,
sentences: 0,
words: 0,
hardSentences: 0,
veryHardSentences: 0,
adverbs: 0,
passiveVoice: 0,
complex: 0
};
("use strict");
var text = document.querySelector('div[contenteditable][aria-label="Message Body"]').innerText;
console.log("this is text " + text)
let paragraphs = text.split("\n");
let hardSentences = paragraphs.map(p => getDifficultSentences(p));
let inP = hardSentences.map(para => `<div>${para}</div>`);
data.paragraphs = paragraphs.length;
OutputText = inP.join("");
return (composeView.setBodyHTML(OutputText))
}
Я хочу вызывать функцию format () каждый раз, когда пользователи пишут новое слово, поэтому я использую пробел для реализации этого поведения.
Что происходит, когда я вызываю функцию форматирования,курсоры идут в начале текстовой области.
Каков наилучший способ сохранить положение курсора всегда в конце текстовой области (без jQuery)?