在JavaScript中保留光标位置

时间:2019-01-02 12:26:39

标签: javascript keydown cursors

我有一个可纠正文字的应用程序。

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)保留光标位置的最佳方法是什么?

0 个答案:

没有答案