Javascript HTML重置插入符号位置

Javascript HTML重置插入符号位置,javascript,jquery,replace,caret,Javascript,Jquery,Replace,Caret,在Contenteditable中,我尝试在运行时更改某些内容。要用元素替换文本,可以这么说。每当我替换文本时,插入符号位置重置为0,我的p标签由许多其他元素组成,如b、I、span,有时还有一个。如果将替换为,插入符号位置将重置为开头。我只是缺少一种逻辑方法,例如如何在新元素后面获得新的插入符号位置。我想我已经有了关于这个话题的大部分话题。因此,我现在会在这里提出我的第一个问题 JSFidle: 代码JS: 功能点击功能鼠标(){ 让text=$(“#pelement”).html(); /

Contenteditable中,我尝试在运行时更改某些内容。要用元素替换文本,可以这么说。每当我替换文本时,插入符号位置重置为0,我的p标签由许多其他元素组成,如b、I、span,有时还有一个。如果将替换为,插入符号位置将重置为开头。我只是缺少一种逻辑方法,例如如何在新元素后面获得新的插入符号位置。我想我已经有了关于这个话题的大部分话题。因此,我现在会在这里提出我的第一个问题

JSFidle:

代码JS:

功能点击功能鼠标(){
让text=$(“#pelement”).html();
//用图像替换文本。
text=text.replace('text sample','')
//将新HTML设置为元素。但如何获取新元素的插入符号位置?
$(“#pelement”).html(文本);
}
$('#pelement')。在(“输入”上,单击功能鼠标)

要显示我的问题,请不要编辑span元素内的文本。。

您好,您的文本样本怎么样?我不知道我还能在这里写些什么

它工作正常,问题未得到澄清。请显示所需的结果/输出。@Aksen P:我已经更改了示例,以便更好地看到问题,直到不清楚您试图实现的目标。是否试图使插入符号显示在输入时添加到可编辑p的元素的开头?也许以下几点结合起来会有所帮助:1。获取相对于父元素-2的元素偏移量。设置插入符号位置-我希望在替换HTML时,光标不再放在起始位置,而是保存并在插入后再次放在该位置。或者,我只需获得插入元素后面光标的位置就足够了。它工作得很好,问题没有得到澄清。请显示所需的结果/输出。@Aksen P:我已经更改了示例,以便更好地看到问题,直到不清楚您试图实现的目标。是否试图使插入符号显示在输入时添加到可编辑p的元素的开头?也许以下几点结合起来会有所帮助:1。获取相对于父元素-2的元素偏移量。设置插入符号位置-我希望在替换HTML时,光标不再放在起始位置,而是保存并在插入后再次放在该位置。或者,对于我来说,获取插入元素后面的光标位置就足够了。