Javascript 更改contenteditable div';时如何保留插入符号位置;s文本?

Javascript 更改contenteditable div';时如何保留插入符号位置;s文本?,javascript,html,contenteditable,caret,getcaretpos,Javascript,Html,Contenteditable,Caret,Getcaretpos,我正在尝试制作一个文本编辑器,根据它所说的内容格式化文本。例如,当您键入“select”时,它会将单词“select”的颜色更改为红色。我使用的是contenteditablediv 我可以让它改变颜色,但每次我改变文本时,插入符号(光标)都会移动到div的开头 以下是我的例子: var replace=函数(文本、q、r){ text=text.split(q); var结果=文本[0]; 对于(变量i=1;i

我正在尝试制作一个文本编辑器,根据它所说的内容格式化文本。例如,当您键入“select”时,它会将单词“select”的颜色更改为红色。我使用的是
contenteditable
div

我可以让它改变颜色,但每次我改变文本时,插入符号(光标)都会移动到
div
的开头

以下是我的例子:

var replace=函数(文本、q、r){
text=text.split(q);
var结果=文本[0];
对于(变量i=1;i
#代码编辑器{
宽度:600px;
高度:100px;
盒影:镶嵌0px 0px 2px黑色;
填充物:5px;
溢出y:滚动;
}
.开始{
颜色:红色;
}


我不确定您是否还需要答案,但无论如何我都会回答。因此,方法是在更新div的文本后更新插入符号位置

var replace=函数(文本、q、r){
text=text.split(q);
var结果=文本[0];
对于(变量i=1;i
#代码编辑器{
宽度:600px;
高度:100px;
盒影:镶嵌0px 0px 2px黑色;
填充物:5px;
溢出y:滚动;
}
.开始{
颜色:红色;
}


您是否找到了解决方案?