Javascript 保存文本光标的位置

Javascript 保存文本光标的位置,javascript,cursor,Javascript,Cursor,我有一段代码,我把文本光标放在一块文本中 <h2 id="textareaEdit" contenteditable="true"> text text text<br>text text text<br> </h2> <button onclick="textPlace()">focus</button> <script> function textPlace() { var el = documen

我有一段代码,我把文本光标放在一块文本中

<h2 id="textareaEdit" contenteditable="true">
  text text text<br>text text text<br>
</h2>
<button onclick="textPlace()">focus</button>

<script>
function textPlace() {
  var el = document.getElementById("textareaEdit");
  var range = document.createRange();
  var sel = window.getSelection();
  range.setStart(el.childNodes[2], 5);
  range.collapse(true);
  sel.removeAllRanges();
  sel.addRange(range);
  el.focus();
}
</script>

文本
文本
集中 函数textPlace(){ var el=document.getElementById(“textareaEdit”); var range=document.createRange(); var sel=window.getSelection(); range.setStart(el.childNodes[2],5); 范围。塌陷(真); 选择removeAllRanges(); 选择添加范围(范围); el.focus(); }
我想知道,当用户键入文本光标,然后单击页面的另一部分,然后按下按钮返回同一位置时,是否有办法保存文本光标的位置


有什么办法吗?我已经尝试这样做了几天,但似乎无法获得任何代码来保存光标的位置

,因此您只想在他们单击按钮时将焦点设置在表单元素上?是的,在特定位置,就像代码当前所做的那样。但除了保存他们过去的文本光标位置之外,还有额外的功能。这应该会有所帮助:如果您正在离开页面并返回,您可以使用本地存储来保存值。您基本上可以在文本区域上创建一个自定义事件处理程序,例如
onfocusout
,然后使用
selectionStart
获取位置。将其保存在变量中,并使用它在
focus
事件上再次设置位置。页面访问之间的存储通过cookie完成。(document.cookie)