Traté de crear un rango, que lleva a un punto específico en el texto, pero esto fue muy difícil con los ChildNodes, porque no se puede llegar exactamente a un punto en el texto, sino sólo por ejemplo, el principio o el final de un ChildNode .
¿Existe una manera de llegar al punto entre "te" y "st" (como poner el cursor entre "te | st") o es posible crear un rango independiente de los childnodes?
Aquí está mi código:
function myFunction(el) { var textNode = el.childNodes[1]; var range = document.createRange(); range.selectNodeContents(el); range.setStart(textNode, 0); range.setEnd(textNode, 0); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } <!DOCTYPE html> <html> <body> <div id="myText" contenteditable>test<br>test</div> <button type="button" onclick='myFunction(document.getElementById("myText"))'>Go into Text</button> </body> </html>