span标记内的可编辑文本&;将光标放在末尾(Javascript)

span标记内的可编辑文本&;将光标放在末尾(Javascript),javascript,html,Javascript,Html,我想要一个功能,点击编辑按钮将使跨度标签内的文本内容可编辑。我能够做到这一点,但不知道如何在文本末尾获得闪烁的光标 下面是我的代码的简化版本 document.querySelector('button')。addEventListener('click',function(){ const span=document.querySelector('span'); setAttribute('contentEditable','true'); span.focus(); 让val=span.i

我想要一个功能,点击编辑按钮将使跨度标签内的文本内容可编辑。我能够做到这一点,但不知道如何在文本末尾获得闪烁的光标

下面是我的代码的简化版本

document.querySelector('button')。addEventListener('click',function(){
const span=document.querySelector('span');
setAttribute('contentEditable','true');
span.focus();
让val=span.innerText;
span.innerText='';
span.innerText=val
})

这是span标记编辑
创建一个新的
范围
对象使用
getSelection
将要设置范围选择的节点设置为
addRange
。。。请参见代码snippit中的注释

document.querySelector('button')。addEventListener('click',function(){
const span=document.querySelector('span');
setAttribute('contentEditable','true');
span.focus();
让val=span.innerHtml;
span.innerHtml='';
span.innerHtml=val;
//设置新的范围对象
让插入符号=document.createRange();
//返回所选或最终将附加到的文本
让sel=window.getSelection();
//获取要将范围设置为的节点
插入符号。选择节点内容(span);
//将collapse设置为null,或将false设置为在节点末尾
插入符号折叠(空);
//确保已从选择对象中删除所有范围
选择removeAllRanges();
//将所有范围设置为null,并将其附加到新的范围对象
选择添加范围(插入符号);
})

这是span标签编辑
非常感谢!不客气,如果我的答案对你有用的话,你可以随意检查一下,作为一个公认的答案。快乐编码;)