Div contentEditable="true" insérer un texte dans la position courante du curse

Résolu
maximine10 Messages postés 4 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 6 mai 2010 - 15 avril 2010 à 11:31
maximine10 Messages postés 4 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 6 mai 2010 - 15 avril 2010 à 13:04
Bonjour.
Je m'explique,
j'ai un DIV editable (contentEditable="true").
je voudrai insérer un texte à la position courante du curseur, avec une selection au paravant c'est faisable
// The current selection
var range = myDiv.document.selection.createRange();
// We'll use this as a 'dummy'
var stored_range = range.duplicate();
// Select all text
stored_range.moveToElementText(myDiv);
// Now move 'dummy' end point to end point of original range
stored_range.setEndPoint('EndToEnd', range);
// Now we can calculate start and end points
myDiv.selectionStart = stored_range.text.length - range.text.length;
myDiv.selectionEnd = myDiv.selectionStart + range.text.length;

alert("le debut de selection : " + myDiv.selectionStart
+ "\n la fin de la selection: " + myDiv.selectionEnd);

// Change text with HTLM tags.
range.pasteHTML("test"range.text + "test");



Mais par contre je voudrai ajouter du texte sans selection juste dans la position du curseur acteulle.
Merci pour toutes vos suggestions.

2 réponses

maximine10 Messages postés 4 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 6 mai 2010
15 avril 2010 à 13:04
Code plus optimisé:
function Show()
{
  var ctrl = 
 document.getElementById("myDiv");
    ctrl.focus();
  var range = document.selection.createRange();
     range.select();
  range.text = 'insertText';
    
  
}
3
maximine10 Messages postés 4 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 6 mai 2010
15 avril 2010 à 13:01
Salut merci pour ceux qui ont pensé m'aider ;
j'ai trouvé la solution avec cette fontion:
function Show()
{
  var ctrl = 
 document.getElementById("myDiv");
    ctrl.focus();
  var range = document.selection.createRange();
  var specialchar = String.fromCharCode(0);
  range.text = specialchar;
   range.select();
  range.text = 'insertText';
    
  
}
0
Rejoignez-nous