Javascript中的动态语法突出显示

时间:2013-02-11 15:39:49

标签: javascript html syntax-highlighting contenteditable

我正在使用基于contentEditable html元素的语法高亮显示创建javascript编辑器。我写了一个管理编辑器的类,其工作原理如下:

function Editor() {
    this.setContent = function(content) {
         var pos = //Computes cursor position in current dom scope (number of characters from begining)
         editor.innerHTML = content;
         /* Here I set the cursor back, again, it is complicated and slow process*/
    }
    this.highlight = function() {
         this.setContent(someHighlighter.highlight(this.getTextContent()));  //Slow - highlights whole innerText of editor DOM and sets it as innerHTML
    }
}

上面的代码只是概念。但即便如此,你可以看到它没有效果,你可能会理解我正在寻找更好的选择 另一方面,我不想在余下的时间里做这个编辑。

  1. 是否有一些javascript语法高亮显示器适用于DOM而不是纯文本?
  2. 有没有更好的方法如何在不丢失光标位置的情况下更改元素内容?

0 个答案:

没有答案