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

Messages postés
4
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
6 mai 2010
- - Dernière réponse : 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.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
4
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
6 mai 2010
3
Merci
Code plus optimisé:
function Show()
{
  var ctrl = 
 document.getElementById("myDiv");
    ctrl.focus();
  var range = document.selection.createRange();
     range.select();
  range.text = 'insertText';
    
  
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de maximine10
Messages postés
4
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
6 mai 2010
0
Merci
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';
    
  
}
Commenter la réponse de maximine10