我有一个可纠正文字的应用程序。
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()函数,因此我习惯使用空格键来实现该行为。
发生的事情是,在我调用format函数之后,光标移到了文本区域的开头。
始终在文本区域的末尾(不使用jQuery)保留光标位置的最佳方法是什么?