【发布时间】:2019-09-27 13:45:02
【问题描述】:
我尝试制作一个文本编辑器并想添加一个语法荧光笔(我正在使用 div 元素)。
代码工作得很好,但是当我输入一个新字符时,你输入的行会出现在文本的开头。这意味着我将在开头键入每个字符。
const editor = document.getElementById("text");
var text = editor.innerText;
editor.addEventListener("input", function() {
text = editor.innerText;
editor.innerHTML = text.replaceAll("console", "<font color='green'>console</font>");
console.log(editor.innerHTML);
});
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.replace(new RegExp(search, 'g'), replacement);
};
<div id="text" contenteditable="true"></div>
我有什么解决方案可以让这条线在开始时不走吗?我必须更换或移除某些东西吗?
【问题讨论】:
标签: javascript html syntax-highlighting