Javascript: detecter la selection d'un text

pazz -  
 lulu -
Bonjour,

je cherche a detecter la selection d'un texte via javascript, mais je ne sais vraiment pas
comment mi prendre, ce serait pour créé un mini wisywig ou il sera possible de metre en gras italique etc....

merci

Pazz

5 réponses

Sandriine Messages postés 1255 Date d'inscription   Statut Membre Dernière intervention   283
 
Une petite recherche (javascript tester selection" sur google qui finit par donner : http://www.journaldunet.com/...

Je cite :

if (document.getSelection) sel = document.getSelection();
else if (document.selection) sel = document.selection.createRange().text;
else return;
alert("Votre sélection: "+sel);
3
pazz
 
Merci sa fonctionne parfaitement.

ps: j'ai du oublier mes lunettes pasque j'ai rien trouver a par une solution microsoft qui n'était pas terrible

Pazz
0
pazz
 
J'ai encore un dernier petit souci.

pour mettre en gras je procède de cette manière:

if (document.getSelection) sel = document.getSelection();
else if (document.selection) sel = document.selection.createRange().text;
else return;
document.selection.createRange().text="<b>"+sel+"</b>";


le problème est qu'il me transforme les "<" en "<" ce qui m'affiche
<b>blablabla</b> au lieu de blablabla

comment pourais-je éviter sa ? j'ai pensé a la fonction replace, mais je trouve sa un peut lourd.

merci

Pazz
0
pazz
 
le deusième "<" est egale a "&.l.t" sans les point

pazz
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chacha
 
bonjour,
je sais que le sujet est vieux mais peut être que l'on peut m'aider j'ai le même que toi et j'ai insérer mon scirpt:



function gras()
{
if (document.getSelection)
sel = document.getSelection();
else if (document.selection)
sel = document.selection.createRange().text;
else return;

alert("Votre sélection: "+sel);
}

dans ce cas présent l'alert fonctionne très bien mais des que je rajoute après else return;

document.selection.createRange().text="<<b>>"+sel+"<</b>>";

plus rien ne fonctionne il me dit que document.selection.createRange().text est undefined

comment faire ??
0
chacha
 
j'ai mis un chevron de trop
0
lulu > chacha
 
sous IE,

onclick="document.execCommand('underline')";
dans les commandes du bouton Souligner.
0