Le code suivant sert à récupérer la position et à mettre le curseur dans un div contenteditable  

 
private node:any;
private position:number;

 

//donne la position du curseur dans div editable
//source https://jsfiddle.net/cpatik/3QAeC/
getCaretPosition() {

  let range=window.getSelection().getRangeAt(0);
  let selection=window.getSelection()

  this.node=selection.focusNode; //récupère le noeud
  this.position=range.startOffset; //récupère la position dans le noeud
}//fin getposition curseur

//positionne le curseur
setCaretPosition() {

  let range=document.createRange();
  let sel=window.getSelection();

  range.setStart(this.node, this.position);
  range.collapse(true);
  sel.removeAllRanges();
  sel.addRange(range);

}//fin setposition

 
Affichages : 3321