Bonsoir,
Je tente d'implémenter une fonction "couper et remplacer par quelque chose" en JavaScript dans un DIV éditable.
Pour remplacer le texte sélectionné par quelque chose, il faut que je récupère la position de la sélection du texte pour identifier où couper.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div id="text" contenteditable="true"></div>
En fait, je veux couper le morceau de texte et remplacer mon DIV complet par 3 autres DIV: 1 DIV avant, 1 DIV quelque chose, 1 DIV après, sans le texte coupé bien entendu.
Ma première idée : indexOf mais il trouve que la première occurrence dans la chaîne de mon DIV.
Par exemple:
Clipboard begin
Clipboard end
si je sélectionne avec la souris le second mot "Clipboard" alors indexOf trouve que la première occurrence.
Voyez plutôt le bout de code:
ce bout de code fait une erreur en sélectionnant le premier mot au lieu du second.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var selText = document.selection.createRange().text; var pos = textObj.innerText.indexOf(selText);
La solution, c'est de récupérer la position "start" dans le texte.
Ma question : comment faire en JavaScript (sous IE uniquement) pour récupérer la position "start" dans le texte du mot sélectionné ?
Merci d'avance pour vos réponses.
Partager