This article describes the implementation method of recording the cursor position in the editor by JavaScript. Share it for your reference, as follows:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Unt titled document</title></head><body><script type="text/javascript">function $(ele){return document.getElementById(ele)}//Location in the record editor var selection_start; var selection_end; function savePos(textBox){ var start=0; var end=0; if(typeof(textBox.selectionStart) == "number"){ // not ie //alert(typeof(textBox.selectionStart) ); start = textBox.selectionStart; end = textBox.selectionEnd; } else if(document.selection){ var range = document.selection.createRange(); if(range.parentElement().id == textBox.id){ var range_all = document.body.createTextRange(); range_all.moveToElementText(textBox); for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++) range_all.moveStart('character', 1); for (var i = 0; i <= start; i ++){ if (textBox.value.charAt(i) == '/n') start++; } var range_all = document.body.createTextRange(); range_all.moveToElementText(textBox); for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++) range_all.moveStart('character', 1); for (var i = 0; i <= end; i ++){ if (textBox.value.charAt(i) == '/n') end ++; } } } selection_start = start; selection_end = end; }</script><form action="" id="test"><textarea id="t" onfocus="savePos(this);$('log').value=selection_start" onkeydown="savePos(this);$('log').value=selection_start" onmousedown="savePos(this);$('log').value=selection_start" onmouseup="savePos(this);$('log').value=selection_start" ></textarea><input type="text" id="log" /></form></body></html>For more information about JavaScript, please check the topics of this site: "Summary of JavaScript switching effects and techniques", "Summary of JavaScript search algorithm skills", "Summary of JavaScript animation effects and techniques", "Summary of JavaScript errors and debugging techniques", "Summary of JavaScript data structures and algorithm skills", "Summary of JavaScript traversal algorithms and techniques", and "Summary of JavaScript mathematical operations usage"
I hope this article will be helpful to everyone's JavaScript programming.