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

Votre réponse

2 réponses

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

Merci maximine10 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

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

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.