Javascript - Taille d'une sélection
Fillule
-
jjsteing Messages postés 1613 Date d'inscription Statut Contributeur Dernière intervention -
jjsteing Messages postés 1613 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour commencer, voici une partie de mon code qui me permet d'obtenir du texte sélectionné dans une page :
selection = document.getSelection();
range = selection.getRangeAt(0);
var offset = range.startOffset;
var container = range.startContainer;
Le problème c'est que je n'arrive pas à calculer la longueur du texte sélectionné !
Y a t-il une fonction qui existe pour ça ? (j'invente, mais du genre rangeSize(), selectionSize() ?)
Sinon quelle est la méthode à suivre pour l'obtenir ?
Je vous remercie d'avance !
Pour commencer, voici une partie de mon code qui me permet d'obtenir du texte sélectionné dans une page :
selection = document.getSelection();
range = selection.getRangeAt(0);
var offset = range.startOffset;
var container = range.startContainer;
Le problème c'est que je n'arrive pas à calculer la longueur du texte sélectionné !
Y a t-il une fonction qui existe pour ça ? (j'invente, mais du genre rangeSize(), selectionSize() ?)
Sinon quelle est la méthode à suivre pour l'obtenir ?
Je vous remercie d'avance !
Configuration: Windows XP Firefox 3.0.11
8 réponses
-
TailleSelection = len (selection)
-
euh non ça ne marche pas du tout
j'ai également essayé avec taille = len(selection.text)
est ce que ça peut venir de mon navigateur ? -
et selection.lenght ??
-
undefined aussi !
je vais continuer mes recherches sur google, je finirai bien par trouver ! je posterai ici quand je trouverai :)
merci ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Si je puis me permettre, tu obtiens "undefined" parce que ta variable 'selection' n'est pas ce que tu crois être.
1- Qu'est ce que c'est que ton 'document.getSelection()' ? C'est sensé te retourner quoi exactement ? Une valeur, un object de type 'text' ?
Ton problème vient donc plus de la première ligne :selection = document.getSelection();
Essai plutôt un truc du genre sélection par identifiant.
Par exemple si tu as déclaré ton champ 'selection' de la manière suivante :<input type='text' id='selection' value=''/>
Alors :
var selectObj = document.getElementById('selection'); if ( selectObj != null ){ var selection = selectObj.value; alert('Longueur du champ = '+selection.length); }
-
kij_82, la ca te donne le nb de caractere total dans ton champs texte, or, je pense qu il voudrais savoir conbien de caracteres de ce champ texte sont sélectionnés.. d où, je suppose, le range()...
Autant je suis d accord avec toi sur le code pour le champ entier, mais j avoue que je peche concernantt la selection... -
Ha effectivement j'ai lu trop vite et mal compris le problème ^^
Mum... faut réfléchir mais là j'avoue que je pars en vacances, bon courage ^^
-
je pense que ca peut t aider :)
https://forum.alsacreations.com/topic-24-42513-1-Resolu-JQuery--recuperer-une-partie-dun-texte-selectionne.html