如何在<;代码>;使用Javascript在HTML中标记?

如何在<;代码>;使用Javascript在HTML中标记?,javascript,jquery,html,focus,cursor-position,Javascript,Jquery,Html,Focus,Cursor Position,我试图通过onkeypress事件重新格式化HTML代码标记中的一些文本。但在文本更改后,光标会移动到起始位置。我必须保持光标的当前位置 为了防止这个问题,我发现了这个 this.selectionStart = this.selectionEnd = this.value.length; 发件人: 但我明白了,它只适用于输入元素:( 从某些表中选择* 如何在代码标记中使用光标位置?您可以使用和来设置选择 constcodenode=document.getElementById('e

我试图通过onkeypress事件重新格式化HTML代码标记中的一些文本。但在文本更改后,光标会移动到起始位置。我必须保持光标的当前位置

为了防止这个问题,我发现了这个

this.selectionStart = this.selectionEnd = this.value.length;
发件人:

但我明白了,它只适用于输入元素:(


从某些表中选择*
如何在代码标记中使用光标位置?

您可以使用和来设置选择

constcodenode=document.getElementById('editor');
常量范围=document.createRange();
const selection=window.getSelection();
range.setStartAfter(codeNode.lastChild);
range.setEndAfter(codeNode.lastChild);
selection.removeAllRanges();
选择。添加范围(范围);


选择*from SomeTable
此代码发送光标结束,但如果我们希望保留当前位置索引,而不是结束,该怎么办?当焦点消失时,您可以将位置保存在变量或元素属性中,并在焦点返回时检索它
<code contenteditable="true" id="editor"  onkeypress="CreateStyle()">
  select * <span style="color:blue">from</span> SomeTable</code>