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

maximine10 4 Messages postés mercredi 14 avril 2010Date d'inscription 6 mai 2010 Dernière intervention - 15 avril 2010 à 11:31 - Dernière réponse : maximine10 4 Messages postés mercredi 14 avril 2010Date d'inscription 6 mai 2010 Dernière intervention
- 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

Répondre au sujet
maximine10 4 Messages postés mercredi 14 avril 2010Date d'inscription 6 mai 2010 Dernière intervention - 15 avril 2010 à 13:04
+3
Utile
Code plus optimisé:
function Show()
{
  var ctrl = 
 document.getElementById("myDiv");
    ctrl.focus();
  var range = document.selection.createRange();
     range.select();
  range.text = 'insertText';
    
  
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de maximine10
maximine10 4 Messages postés mercredi 14 avril 2010Date d'inscription 6 mai 2010 Dernière intervention - 15 avril 2010 à 13:01
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.